[gst-devel] problem compiling gst-ffmpeg under gentoo with cpu that doesnt support sse

Matt Henley nwmatt at gmail.com
Sun Dec 12 21:06:02 CET 2004


i am using gentoo on an old athlon tbird.  It doesnt support sse
although configure scripts happily report that it does.  Therefore I
have added  -mno-sse -mno-sse2 to my make.conf.  When I try to compile
 the gst plugin gst-ffmpeg I get the following:

make[8]: Entering directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext/ffmpeg/libavcodec/i386'
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-fdct_mmx.lo -MD -MP
-MF ".deps/libmmxsse_la-fdct_mmx.Tpo" -c -o libmmxsse_la-fdct_mmx.lo
`test -f 'fdct_mmx.c' || echo './'`fdct_mmx.c; \
then mv -f ".deps/libmmxsse_la-fdct_mmx.Tpo"
".deps/libmmxsse_la-fdct_mmx.Plo"; else rm -f
".deps/libmmxsse_la-fdct_mmx.Tpo"; exit 1; fi
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-fdct_mmx.lo -MD -MP -MF .deps/libmmxsse_la-fdct_mmx.Tpo
-c fdct_mmx.c  -fPIC -DPIC -o .libs/libmmxsse_la-fdct_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-cputest.lo -MD -MP
-MF ".deps/libmmxsse_la-cputest.Tpo" -c -o libmmxsse_la-cputest.lo
`test -f 'cputest.c' || echo './'`cputest.c; \
then mv -f ".deps/libmmxsse_la-cputest.Tpo"
".deps/libmmxsse_la-cputest.Plo"; else rm -f
".deps/libmmxsse_la-cputest.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-cputest.lo -MD -MP -MF .deps/libmmxsse_la-cputest.Tpo -c
cputest.c  -fPIC -DPIC -o .libs/libmmxsse_la-cputest.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-dsputil_mmx.lo -MD
-MP -MF ".deps/libmmxsse_la-dsputil_mmx.Tpo" -c -o
libmmxsse_la-dsputil_mmx.lo `test -f 'dsputil_mmx.c' || echo
'./'`dsputil_mmx.c; \
then mv -f ".deps/libmmxsse_la-dsputil_mmx.Tpo"
".deps/libmmxsse_la-dsputil_mmx.Plo"; else rm -f
".deps/libmmxsse_la-dsputil_mmx.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-dsputil_mmx.lo -MD -MP -MF
.deps/libmmxsse_la-dsputil_mmx.Tpo -c dsputil_mmx.c  -fPIC -DPIC -o
.libs/libmmxsse_la-dsputil_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-mpegvideo_mmx.lo
-MD -MP -MF ".deps/libmmxsse_la-mpegvideo_mmx.Tpo" -c -o
libmmxsse_la-mpegvideo_mmx.lo `test -f 'mpegvideo_mmx.c' || echo
'./'`mpegvideo_mmx.c; \
then mv -f ".deps/libmmxsse_la-mpegvideo_mmx.Tpo"
".deps/libmmxsse_la-mpegvideo_mmx.Plo"; else rm -f
".deps/libmmxsse_la-mpegvideo_mmx.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-mpegvideo_mmx.lo -MD -MP -MF
.deps/libmmxsse_la-mpegvideo_mmx.Tpo -c mpegvideo_mmx.c  -fPIC -DPIC
-o .libs/libmmxsse_la-mpegvideo_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-idct_mmx.lo -MD -MP
-MF ".deps/libmmxsse_la-idct_mmx.Tpo" -c -o libmmxsse_la-idct_mmx.lo
`test -f 'idct_mmx.c' || echo './'`idct_mmx.c; \
then mv -f ".deps/libmmxsse_la-idct_mmx.Tpo"
".deps/libmmxsse_la-idct_mmx.Plo"; else rm -f
".deps/libmmxsse_la-idct_mmx.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-idct_mmx.lo -MD -MP -MF .deps/libmmxsse_la-idct_mmx.Tpo
-c idct_mmx.c  -fPIC -DPIC -o .libs/libmmxsse_la-idct_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-motion_est_mmx.lo
-MD -MP -MF ".deps/libmmxsse_la-motion_est_mmx.Tpo" -c -o
libmmxsse_la-motion_est_mmx.lo `test -f 'motion_est_mmx.c' || echo
'./'`motion_est_mmx.c; \
then mv -f ".deps/libmmxsse_la-motion_est_mmx.Tpo"
".deps/libmmxsse_la-motion_est_mmx.Plo"; else rm -f
".deps/libmmxsse_la-motion_est_mmx.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-motion_est_mmx.lo -MD -MP -MF
.deps/libmmxsse_la-motion_est_mmx.Tpo -c motion_est_mmx.c  -fPIC -DPIC
-o .libs/libmmxsse_la-motion_est_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-simple_idct_mmx.lo
-MD -MP -MF ".deps/libmmxsse_la-simple_idct_mmx.Tpo" -c -o
libmmxsse_la-simple_idct_mmx.lo `test -f 'simple_idct_mmx.c' || echo
'./'`simple_idct_mmx.c; \
then mv -f ".deps/libmmxsse_la-simple_idct_mmx.Tpo"
".deps/libmmxsse_la-simple_idct_mmx.Plo"; else rm -f
".deps/libmmxsse_la-simple_idct_mmx.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-simple_idct_mmx.lo -MD -MP -MF
.deps/libmmxsse_la-simple_idct_mmx.Tpo -c simple_idct_mmx.c  -fPIC
-DPIC -o .libs/libmmxsse_la-simple_idct_mmx.o
if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../../libavcodec -DHAVE_AV_CONFIG_H=1   -msse -O2
-march=i386 -fomit-frame-pointer -mno-sse -mno-sse2 -mno-sse3
-mfpmath=387 -fno-stack-protector -MT libmmxsse_la-fft_sse.lo -MD -MP
-MF ".deps/libmmxsse_la-fft_sse.Tpo" -c -o libmmxsse_la-fft_sse.lo
`test -f 'fft_sse.c' || echo './'`fft_sse.c; \
then mv -f ".deps/libmmxsse_la-fft_sse.Tpo"
".deps/libmmxsse_la-fft_sse.Plo"; else rm -f
".deps/libmmxsse_la-fft_sse.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libavcodec
-DHAVE_AV_CONFIG_H=1 -msse -O2 -march=i386 -fomit-frame-pointer
-mno-sse -mno-sse2 -mno-sse3 -mfpmath=387 -fno-stack-protector -MT
libmmxsse_la-fft_sse.lo -MD -MP -MF .deps/libmmxsse_la-fft_sse.Tpo -c
fft_sse.c  -fPIC -DPIC -o .libs/libmmxsse_la-fft_sse.o
In file included from fft_sse.c:24:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include/xmmintrin.h:34:3: #error
"SSE instruction set not enabled"
fft_sse.c: In function `ff_fft_calc_sse':
fft_sse.c:57: error: `__m128' undeclared (first use in this function)
fft_sse.c:57: error: (Each undeclared identifier is reported only once
fft_sse.c:57: error: for each function it appears in.)
fft_sse.c:57: error: `r' undeclared (first use in this function)
fft_sse.c:57: error: `a' undeclared (first use in this function)
fft_sse.c:57: error: `b' undeclared (first use in this function)
fft_sse.c:57: error: `a1' undeclared (first use in this function)
fft_sse.c:57: error: `c1' undeclared (first use in this function)
fft_sse.c:57: error: `c2' undeclared (first use in this function)
fft_sse.c:59: error: parse error before ')' token
fft_sse.c:60: error: parse error before ')' token
fft_sse.c:61: error: parse error before ')' token
fft_sse.c:63: error: parse error before ')' token
fft_sse.c:106: error: parse error before "a"
fft_sse.c:108: error: parse error before ')' token
fft_sse.c:109: error: parse error before ')' token
fft_sse.c:112: error: `c' undeclared (first use in this function)
fft_sse.c:112: error: parse error before ')' token
fft_sse.c:114: error: `t1' undeclared (first use in this function)
fft_sse.c:116: error: parse error before ')' token
fft_sse.c:118: error: `t2' undeclared (first use in this function)
fft_sse.c:123: error: parse error before ')' token
fft_sse.c:124: error: parse error before ')' token
make[8]: *** [libmmxsse_la-fft_sse.lo] Error 1
make[8]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext/ffmpeg/libavcodec/i386'
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext/ffmpeg/libavcodec'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext/ffmpeg'
make[5]: *** [all] Error 2
make[5]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext/ffmpeg'
make[4]: *** [all-local] Error 2
make[4]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs/ext'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2/gst-libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.2-r1/work/gst-ffmpeg-0.8.2'
make: *** [all] Error 2

!!! ERROR: media-plugins/gst-plugins-ffmpeg-0.8.2-r1 failed.
!!! Function src_compile, Line 50, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

Is there a switch that will tell it not to use sse?

Thanks
Matt




More information about the gstreamer-devel mailing list