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: daw-bugzilla@… Owned by: diego@…
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 daw-bugzilla@…, 16 years ago

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

comment:2 by daw-bugzilla@…, 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 daw-bugzilla@…, 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 diego@…, 16 years ago

op_sys: LinuxAll
rep_platform: PC (AMD64)PC (x86)
Resolution: fixed
Status: newclosed

I just committed a fix, MPlayer should compile with --disable-mmx again.

Note: See TracTickets for help on using tickets.