Opened 12 years ago
Closed 12 years ago
#1695 closed defect (fixed)
build fails with --disable-mmx
Reported by: | Gero | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
build of git-master fails on linux (debian squeeze 64bit) with this output:
LD ffprobe_g LD ffplay_g LD ffmpeg_g LD ffserver_g libavcodec/libavcodec.so: undefined reference to `ff_dnxhdenc_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_encode_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_common_init_x86' collect2: ld returned 1 exit status make: *** [ffserver_g] Fehler 1 make: *** Warte auf noch nicht beendete Prozesse... libavcodec/libavcodec.so: undefined reference to `ff_dnxhdenc_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_encode_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_common_init_x86' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Fehler 1 libavcodec/libavcodec.so: undefined reference to `ff_dnxhdenc_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_encode_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_common_init_x86' collect2: ld returned 1 exit status make: *** [ffplay_g] Fehler 1 libavcodec/libavcodec.so: undefined reference to `ff_dnxhdenc_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_encode_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_common_init_x86' collect2: ld returned 1 exit status
Change History (7)
comment:1 by , 12 years ago
Priority: | critical → normal |
---|
comment:2 by , 12 years ago
Ok, my configure is
./configure \ --enable-nonfree \ --enable-gpl \ --disable-mmx \ --enable-shared \ --enable-version3 \ --enable-runtime-cpudetect \ --enable-hardcoded-tables \ --enable-frei0r \ --enable-libxvid \ --enable-pic \ --enable-libaacplus \ --enable-libass \ --enable-libcdio \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libdc1394 \ --enable-libfaac \ --enable-libfreetype \ --enable-libgsm \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libopenjpeg \ --enable-libpulse \ --enable-librtmp \ --enable-libschroedinger \ --enable-libspeex \ --enable-libtheora \ --enable-libvpx \ --enable-libxvid \ --enable-openal \ --enable-libx264
after performing the recommended commands, the output of make V=1 is
$ make V=1 gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o ffmpeg_g ffmpeg_opt.o ffmpeg_filter.o ffmpeg.o cmdutils.o -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil -ldl -ldl -ldl -lva -lcdio_paranoia -lcdio_cdda -lcdio -ljack -lasound -lSDL -ldc1394 -lraw1394 -lopenal -lxvidcore -lx264 -lvpx -lvpx -ltheoraenc -ltheoradec -logg -lspeex -lschroedinger-1.0 -lrtmp -lz -lgnutls -lpulse-simple -lpulse -lopenjpeg -lopencore-amrwb -lopencore-amrnb -lmp3lame -lmodplug -lgsm -lfreetype -lfaac -lass -laacplus -lm -pthread -lbz2 -lz -lrt libavcodec/libavcodec.so: undefined reference to `ff_dnxhdenc_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_encode_init_x86' libavcodec/libavcodec.so: undefined reference to `ff_MPV_common_init_x86' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Fehler 1
may be I should remove the whole tree and check it out again.
But today I don't have the time for that.
May be tomorrow.
The error arised about 3 days ago
comment:3 by , 12 years ago
Component: | undetermined → avcodec |
---|---|
Keywords: | regression added |
Priority: | normal → important |
Reproduced by developer: | set |
Status: | new → open |
Summary: | build failes → build fails with --disable-mmx |
(Unrelated to the actual ticket: Why are you using --disable-mmx ?)
comment:4 by , 12 years ago
Why are you using --disable-mmx ?
Don't remember well.
When I started to use ffmpeg from source, I had some troubles, I could eliminate by usage of that switch. But I don't remember that kind of troubles.
Based on your question I removed that switch from my configure option-list and build works fine.
I'll test the usage of ffmpeg - may be I can live without it.
Thanks.
comment:6 by , 12 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Replying to cehoyos:
Fixed by Diego.
Not yet.
configure --disable-optimizations --disable-mmx
Fails here with:
libavcodec/libavcodec.a(mpegvideoenc.o): In function `dct_quantize_MMX': /home/stefano/src/ffmpeg/libavcodec/x86/mpegvideoenc_template.c:106: undefined reference to `ff_fdct_mmx' libavcodec/libavcodec.a(mpegvideoenc.o): In function `dct_quantize_MMX2': /home/stefano/src/ffmpeg/libavcodec/x86/mpegvideoenc_template.c:106: undefined reference to `ff_fdct_mmx2' libavcodec/libavcodec.a(mpegvideoenc.o): In function `dct_quantize_SSE2': /home/stefano/src/ffmpeg/libavcodec/x86/mpegvideoenc_template.c:106: undefined reference to `ff_fdct_sse2'
comment:7 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Fixed by Diego in:
commit ec36aa69448f20a78d8c4588265022e0b2272ab5 Author: Diego Biurrun <diego@biurrun.de> Date: Wed Aug 29 11:14:17 2012 +0200 x86: Fix linking with some or all of yasm, mmx, optimizations disabled Some optimized template functions reference optimized symbols, so they must be explicitly disabled when those symbols are unavailable.
(Works fine here)
To make this a valid ticket, please add the configure line you tested, run make (it fails), run make again, then run "make V=1" and post the complete, uncut output of the last make call.