GNOME Bugzilla – Bug 121184
[PATCH] ffmpeg requires gcc on x86 (at least)
Last modified: 2004-12-22 21:47:04 UTC
The Sun ONE Studio 8 compiler doesn't appear to like colons outside quotes in asm() code. Makefile and compiler output: cc -g -I/opt/gnome-2.4/include -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o common.o common.c "bswap.h", line 11: syntax error before or at: : "bswap.h", line 26: syntax error before or at: : "bswap.h", line 36: syntax error before or at: __extension__ "bswap.h", line 38: syntax error before or at: : "common.h", line 183: syntax error before or at: : "common.h", line 190: syntax error before or at: : cc: acomp failed for common.c make[6]: *** [common.o] Error 2 make[6]: Leaving directory `/gnome/2.4/nightly/src-2.4-20030901/gst-plugins-0.6.3/gst-libs/ext/ffmpeg/ffmpeg/libavcodec' I think (example from bswap.h): __asm("bswap %0": "=r" (x) : can be changed to: /* Put all text in quotes in separate statements. */ __asm("bswap %0:" ); __asm("=r (x) :" ); but I know absolutely no assembly. In /usr/include/prof.h (only file in that dir with 'asm()'): #if defined(__i386) #define MARK(K) {\ asm(" .data"); \ asm(" .align 4"); \ asm("."#K".:"); \ asm(" .long 0"); \ asm(" .text"); \ asm("M."#K":"); \ asm(" movl $."#K"., %edx"); \ asm(" call _mcount"); \ } #endif Note the individual statements and colons within quotes.
For now, you'll have to use --disable-ffmpeg, since ffmpeg only builds with gcc. The attached patch should help, too, but I think ffmpeg compiles fine on Solaris/sparc (please check this if you can).
Created attachment 19685 [details] [review] patch to disable ffmpeg for non-gcc
Tested this patch on 0.6 and it didn't break the build on x86 at least :) problably ready for commit :)
commited to 0.6.3.1, closing