Opened 13 years ago
Closed 13 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 , 13 years ago
| Priority: | critical → normal |
|---|
comment:2 by , 13 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 , 13 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 , 13 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 , 13 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 , 13 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.