On Mon, Nov 12, 2012 at 12:09:57PM +0100, Reinhard Tartler wrote: > Package: libav > Version: 6:9~beta2-2 > Severity: important > Tags: help > > I require assistance from a toolchain savy expert. I have uploaded a new > upstream version of libav to experimental. Unfortunately, it fails to > build on several architectures with the following error: > > > gcc -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample > -Llibavutil -Llibswscale -Wl,-z,relro -Wl,--as-needed -Wl,--warn-common > -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample > -o avconv avconv_opt.o avconv_filter.o avconv.o cmdutils.o -lavdevice > -lavfilter -lavformat -lavresample -lavcodec -lswscale -lavutil -ldl -ldl > -lXfixes -lXext -lX11 -lcdio_paranoia -lcdio_cdda -lcdio -ljack -lasound > -ldc1394 -lraw1394 -lgcrypt -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc > -lvorbis -logg -ltheoraenc -ltheoradec -logg -lspeex -lschroedinger-1.0 > -lrtmp -lz -lgnutls -lpulse-simple -lpulse -lopenjpeg -lopencv_core > -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video > -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib > -lopencv_legacy -lopencv_flann -lmp3lame -lgsm -lfreetype -lgnutls -lva -lm > -pthread -lbz2 -lz > libavfilter/libavfilter.so: undefined reference to `ff_log2_tab' This message appears to tell that libavfilter/libavfilter.so is not linked to libavutil or libavutil doesn't export the symbol.
Checking libavfilter/libavfilter.so link command (from the armel log): gcc -shared -Wl,-soname,libavfilter.so.3 -Wl,-Bsymbolic -Wl,--version-script,libavfilter/libavfilter.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibswscale -Wl,-z,relro -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample -o libavfilter/libavfilter.so.3 libavfilter/af_aformat.o [object files skipped] -lavresample -lavformat -lavcodec -lavresample -lswscale -lavutil -ldl -ldl -lXfixes -lXext -lX11 -lcdio_paranoia -lcdio_cdda -lcdio -ljack -lasound -ldc1394 -lraw1394 -lgcrypt -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lspeex -lschroedinger-1.0 -lrtmp -lz -lgnutls -lpulse-simple -lpulse -lopenjpeg -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann -lmp3lame -lgsm -lfreetype -lgnutls -lva -lm -pthread -lbz2 -lz Unless I'm missing something, this looks OK. Another possibility is that libavutil doesn't export the symbol. I've checked libavutil51 which for some reason is in the build-deps (though the link command apparently should use the one from sources) and it exports the symbol. Also, libavutil/libavutil.v contains ff_* as global: so the binary should have the symbol exported. All in all, we need a failing tree to check whether built libavutil/libavutil.so exports the symbol and whether libavfilter/libavfilter.so is linked to libavutil. Oh, and a third possibility: at the time of linking avconv (i.e. the command that fails) dependency of libavfilter/libavfilter.so to libavutil is resolved using a wrong library (not the one from /usr which is fine and not libavutil/libavutil.so which we assume to be fine). -- WBR, wRAR
signature.asc
Description: Digital signature