Opened 16 years ago
Closed 16 years ago
#1188 closed defect (fixed)
Doesn't compile with --enable-debug=3 --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-ssse3 --disable-fastmemcpy
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Component: | build system |
Version: | HEAD | Severity: | normal |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
The build fails with the latest svn head (r27284), with certain ./configure settings.
To reproduce:
(do a clean svn checkout)
./configure --enable-debug=3 --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-ssse3 --disable-fastmemcpy
make
The build fails with the following link error:
cc -o mplayer mplayer.o m_property.o mp_fifo.o [...] libpostproc/libpostproc.a -lXext -lX11 -lpthread -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -ldl -lSDL -lpthread -lesd -laudiofile -lm -Wl,-z,noexecstack -lpng -lz -ljpeg -lungif -lasound -ldl -lpthread -lfreetype -lfontconfig -lz -llzo2 -lpthread -ldl -rdynamic -lm
libmpeg2/idct.o: In function `mpeg2_idct_init':
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:244: undefined reference to `mpeg2_idct_copy_sse2'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:245: undefined reference to `mpeg2_idct_add_sse2'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:248: undefined reference to `mpeg2_idct_copy_mmxext'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:249: undefined reference to `mpeg2_idct_add_mmxext'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:252: undefined reference to `mpeg2_idct_copy_mmx'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:253: undefined reference to `mpeg2_idct_add_mmx'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:246: undefined reference to `mpeg2_idct_mmx_init'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:250: undefined reference to `mpeg2_idct_mmx_init'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/idct.c:254: undefined reference to `mpeg2_idct_mmx_init'
libmpeg2/motion_comp.o: In function `mpeg2_mc_init':
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/motion_comp.c:44: undefined reference to `mpeg2_mc_3dnow'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/motion_comp.c:42: undefined reference to `mpeg2_mc_mmxext'
/home/daw/research/catchconv-sf/daw/mplayer/libmpeg2/motion_comp.c:46: undefined reference to `mpeg2_mc_mmx'
collect2: ld returned 1 exit status
make: * [mplayer] Error 1
I snipped out most of the arguments to "cc" above, otherwise the line would have been ridiculously long.
This is on a Linux Fedora 9 x86_64 (Core II Duo) system:
$ uname -a
Linux mundy 2.6.25.9-76.fc9.x86_64 #1 SMP Fri Jun 27 15:58:30 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
I don't know if I'm doing something wrong (if I'm not supposed to use ./configure this way) or if this is a bug in the build system.
Change History (4)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
I verified (after updating to svn 27289) that the following builds cleanly:
./configure --enable-debug=3 --disable-sse --disable-sse2 --disable-ssse3
make clean
make
comment:3 by , 16 years ago
With svn 27289, it builds cleanly with ./configure --enable-debug=3 --disable-sse --disable-sse2 --disable-ssse3 --disable-fastmemcpy --disable-mmext, but add --disable-mmx and it continues to give the error listed in the original bug report.
comment:4 by , 16 years ago
op_sys: | Linux → All |
---|---|
rep_platform: | PC (AMD64) → PC (x86) |
Resolution: | → fixed |
Status: | new → closed |
I just committed a fix, MPlayer should compile with --disable-mmx again.
And here is a build error with just --enable-debug=3 --disable-mmx:
./configure --enable-debug=3 --disable-mmx
make clean
make all
...
cc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -I. -W -Wall -O2 -march=native -mtune=native -pipe -g3 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -I/usr/include/SDL -D_REENTRANT -I/usr/include/freetype2 -c -o yuv2rgb.o yuv2rgb.c
yuv2rgb.c: In function 'yuv2rgb_get_func_ptr':
yuv2rgb.c:601: error: 'yuv420_rgb32_MMX2' undeclared (first use in this function)
yuv2rgb.c:601: error: (Each undeclared identifier is reported only once
yuv2rgb.c:601: error: for each function it appears in.)
yuv2rgb.c:602: error: 'yuv420_rgb24_MMX2' undeclared (first use in this function)
yuv2rgb.c:603: error: 'yuv420_rgb16_MMX2' undeclared (first use in this function)
yuv2rgb.c:604: error: 'yuv420_rgb15_MMX2' undeclared (first use in this function)
yuv2rgb.c:609: error: 'yuv420_rgb32_MMX' undeclared (first use in this function)
yuv2rgb.c:610: error: 'yuv420_rgb24_MMX' undeclared (first use in this function)
yuv2rgb.c:611: error: 'yuv420_rgb16_MMX' undeclared (first use in this function)
yuv2rgb.c:612: error: 'yuv420_rgb15_MMX' undeclared (first use in this function)
make[1]: * [yuv2rgb.o] Error 1
make[1]: Leaving directory `/home/daw/research/catchconv-sf/daw/mplayer/libswscale'
make: * [libswscale/libswscale.a] Error 2