Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ffmpeg compile error
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
msst
Apprentice
Apprentice


Joined: 07 Jun 2011
Posts: 259

PostPosted: Wed Dec 11, 2013 12:06 am    Post subject: ffmpeg compile error Reply with quote

Last version compiled perfect, but just now the current delivered that:

i686-pc-linux-gnu-gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -DHAVE_AV_CONFIG_H -march=native -O2 -pipe -march=native -O2 -pipe -march=k8-sse3 -std=c99 -fomit-frame-pointer -fPIC -pthread -Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -march=native -O2 -pipe -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -MMD -MF libavcodec/dsputil.d -MT libavcodec/dsputil.o -c -o libavcodec/dsputil.o libavcodec/dsputil.c
In file included from libavcodec/diracdec.c:34:0:
libavcodec/dirac_arith.h: In Funktion »dirac_get_arith_bit«:
libavcodec/dirac_arith.h:141:5: Fehler: »asm«-Operand hat unmögliche Nebenbedingungen
__asm__(
^
make: *** [libavcodec/diracdec.o] Fehler 1

Any ideas where to find the problem? Didn't help to try stepping to ~x86 for ffmpeg as well, same error in stable and experimental version atm.
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Wed Dec 11, 2013 12:12 am    Post subject: Reply with quote

This kind of support request should be accompanied by emerge --info output. Putting the whole build log into pastebin would help, too. Also using MAKEOPTS="-j1" when troubleshooting can give a better picture.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
potuz
Guru
Guru


Joined: 30 Jan 2010
Posts: 378

PostPosted: Thu Dec 12, 2013 8:30 pm    Post subject: Reply with quote

try USE=-pic or you might need to upgrade GCC
https://forums.gentoo.org/viewtopic-t-807135-start-0-postdays-0-postorder-asc-highlight-.html
I've seen similar errors on that ABI
[url]https://trac.ffmpeg.org/ticket/1176[/ur]
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7475

PostPosted: Fri Dec 13, 2013 3:54 am    Post subject: Reply with quote

Jaglover wrote:
Putting the whole build log into pastebin would help, too.

-> Putting the whole build log of "LC_ALL=C emerge ffmpeg" into pastebin would help, too
Code:
In Funktion »dirac_get_arith_bit«:
Fehler: »asm«-Operand hat unmögliche Nebenbedingungen

It gets weird enough with only two lines, i don't want parse such full build log :)
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Fri Dec 13, 2013 9:22 am    Post subject: Reply with quote

krinn wrote:
Code:
In Funktion »dirac_get_arith_bit«:
Fehler: »asm«-Operand hat unmögliche Nebenbedingungen

It gets weird enough with only two lines, i don't want parse such full build log :)


That's just the standard "not enough registers" error (don't recall how it's exactly phrased in English, but that's what it usually ends up being).
Back to top
View user's profile Send private message
potuz
Guru
Guru


Joined: 30 Jan 2010
Posts: 378

PostPosted: Fri Dec 13, 2013 10:32 am    Post subject: Reply with quote

It's parsed as "error: ‘asm’ operand has impossible constraints" as in the trac listing posted above.
Back to top
View user's profile Send private message
msst
Apprentice
Apprentice


Joined: 07 Jun 2011
Posts: 259

PostPosted: Fri Dec 13, 2013 10:02 pm    Post subject: Reply with quote

Here is the emerge --info plus buildlog:

http://pastebin.com/AqJvBA5y

Also tried:
CFLAGS="-O0" USE="-pic" MAKEOPTS="-j1" CXXFLAGS="-O0" emerge ffmpeg

thats quite radically conservative and it yields:
exactly the same error. So not an issue with over -O optimization. Hmm.

UPDATE:
I was able to fix that problem by downgrading from gcc-4.8.2 to 4.6.3!
Seems ffmpeg is incompatible with gcc-4.8.2. Hmmm. Thats a bug - just whether its a gcc bug or a ffmpeg bug...
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7475

PostPosted: Sat Dec 14, 2013 4:30 am    Post subject: Reply with quote

Next time pastebin the build.log portage is telling you where to find it on failure.

And you should report ffmpeg bug, as if
Quote:
-march=native -O2 -pipe -march=k8-sse3
is add by configure phase, it's a bug and it will prevent cross compiling.
Back to top
View user's profile Send private message
msst
Apprentice
Apprentice


Joined: 07 Jun 2011
Posts: 259

PostPosted: Sun Dec 15, 2013 2:31 am    Post subject: Reply with quote

I did paste as much of the build.log as did fit the terminal buffer. If there is an upload function in pastebin then I failed to see it.

So what you say means that ffmpeg adds an march=k8-sse3 automatically which breaks the build? Weird. Thats kind of insane. And why does an older gcc version work then?
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7475

PostPosted: Sun Dec 15, 2013 12:39 pm    Post subject: Reply with quote

emerge -a wgetpaste
And even without it, you aren't limited to the console buffer if you paste it from nano or other editors.


if ffmpeg add -march=k8-sse3 when it detect -march=native : there's nothing that bad, but it looks weird to force it.
And if ffmpeg add it unconditionally then it's clearly a bug as it will prevent cross compile build.

It doesn't break on older gcc as -march=k8-sse3 is a valid march setting for your cpu. But trying to build it with -march=pentium-m for another cpu with your cpu, if it use -march=pentium-m -march=k8-sse3 (last entry overlap previous entry) you will produce k8-sse3 code instead of pentium-m code.

Looking less insane ?
Back to top
View user's profile Send private message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Sun Dec 15, 2013 2:30 pm    Post subject: Reply with quote

mas- wrote:
Seems ffmpeg is incompatible with gcc-4.8.2. Hmmm. Thats a bug - just whether its a gcc bug or a ffmpeg bug...


Can you file this bug at Gentoo Bugzilla? Read here how to write a bug report, for more in-depth details and troubleshooting steps you can read our Bugzilla HOWTO.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum