[MPlayer-users] MPlayer does not link to x264: undefined reference to `__log2f_finite'
andrew
andrew at andrews-corner.org
Sun Aug 5 11:36:08 CEST 2012
On Sun, Aug 05, 2012 at 08:58:31AM +0000, Carl Eugen Hoyos wrote:
> andrew <andrew <at> andrews-corner.org> writes:
>
> > ./configure fails to link x264 with the following message in
> > config.log.
>
> Could you test the following?
> Look at line 6958 of configure, you will find the string
> "-lx264 $ld_pthread" twice. Edit the second string and make it
> "-lx264 $ld_pthread -lm".
>
> Please report back, Carl Eugen
The suggestion in your other email (adding --extra-ldflags=-lm) did
not work but your suggestion above worked perfectly with a static
x264. Thanks for that!
I attach the relevant section of config.log just to confirm.
Thanks again,
Andrew
============ Checking for x264 ============
#include <inttypes.h>
#include <x264.h>
#if !(X264_BUILD >= 118)
#error We do not support old versions of x264. Get the latest from git.
#endif
int main(void) { x264_encoder_open((void*)0); return 0; }
cc -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -I/home/andrew/mplayer_build/mplayer_deps/usr/include -fno-tree-vectorize /tmp/mplayer-configure--15947/tmp.c -Ilibdvdread4 -I. -Iffmpeg -I/home/andrew/mplayer_build/mplayer_deps/usr/include -D_REENTRANT -I/usr/include/directfb -I/usr/include/ -D_REENTRANT -I/usr/include/freetype2 -lm -L/home/andrew/mplayer_build/mplayer_deps/usr/lib -lncurses -lsmbclient -lpng -lz -ljpeg -lungif -lasound -ldl -lpthread -lbluray -lcdda_interface -lcdda_paranoia -L/usr/lib/i386-linux-gnu -lfreetype -lz -lfontconfig -lfribidi -lass -lenca -lz -lspeex -ltheoradec -logg -lmpg123 -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment -lstdc++ -lrtmp -lopencore-amrnb -lopencore-amrwb -ldv -lxvidcore -ldirectfb -lXext -lX11 -lpthread -lXv -lvdpau -lXinerama -lXxf86vm -lXxf86dga -laa -L/usr/lib/i386-linux-gnu -lcaca -lvga -lSDL -lGL -ldl -lesd -lpulse -ljack -lfaac -lfaac -o /tmp/mplayer-configure--15947/tmp -lx264 -lpthread
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(encoder.o): In function `x264_validate_parameters':
encoder.c:(.text+0x157e): undefined reference to `__log2f_finite'
encoder.c:(.text+0x15bd): undefined reference to `__log2f_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(encoder.o): In function `x264_encoder_open_125':
encoder.c:(.text+0x874f): undefined reference to `__pow_finite'
encoder.c:(.text+0x88f1): undefined reference to `__pow_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(set.o): In function `x264_cqm_init':
set.c:(.text+0x2564): undefined reference to `__pow_finite'
set.c:(.text+0x4833): undefined reference to `__pow_finite'
set.c:(.text+0x5a2a): undefined reference to `__pow_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(set.o):set.c:(.text+0x6ed2): more undefined references to `__pow_finite' follow
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(analyse.o): In function `x264_macroblock_tree_finish':
analyse.c:(.text+0x3d38): undefined reference to `lround'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(analyse.o): In function `x264_analyse_prepare_costs':
analyse.c:(.text+0x2990a): undefined reference to `__log2f_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_adaptive_quant_frame':
ratecontrol.c:(.text+0xd47): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `get_qscale':
ratecontrol.c:(.text+0x1068): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x1080): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x110d): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `clip_qscale':
ratecontrol.c:(.text+0x11de): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `find_underflow':
ratecontrol.c:(.text+0x1ae0): undefined reference to `__pow_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `init_pass2':
ratecontrol.c:(.text+0x1ffd): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x21a7): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x2431): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x2590): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x27b8): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0x2a5c): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x2ae3): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x2cef): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x2e91): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x2f05): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x30ea): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x33d3): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x36d7): undefined reference to `__log2f_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `rate_estimate_qscale':
ratecontrol.c:(.text+0x3d75): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x40a6): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x410d): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x4454): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0x4698): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x47be): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x4877): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x4953): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x4a52): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x4b32): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_init_reconfigurable':
ratecontrol.c:(.text+0x5934): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x596e): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_new':
ratecontrol.c:(.text+0x5c06): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x5c43): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x5fa3): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x5feb): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0x601a): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0x60fd): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x61a2): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x61f8): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x6647): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x7266): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x8282): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_summary':
ratecontrol.c:(.text+0x8bd0): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0x8bf8): undefined reference to `__log2f_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_start':
ratecontrol.c:(.text+0x91cd): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0x949d): undefined reference to `__log2f_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_mb':
ratecontrol.c:(.text+0x9664): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x9971): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x9ba1): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x9d01): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0x9ed9): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0xa012): more undefined references to `__powf_finite' follow
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_slice_type':
ratecontrol.c:(.text+0xa3a1): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0xa44c): undefined reference to `__log2f_finite'
ratecontrol.c:(.text+0xa5e9): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0xa64e): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_ratecontrol_end':
ratecontrol.c:(.text+0xac0a): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0xaca0): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0xad01): undefined reference to `__pow_finite'
ratecontrol.c:(.text+0xadd1): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0xb37f): undefined reference to `__powf_finite'
ratecontrol.c:(.text+0xb509): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_threads_distribute_ratecontrol':
ratecontrol.c:(.text+0xb9aa): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(ratecontrol.o): In function `x264_threads_merge_ratecontrol':
ratecontrol.c:(.text+0xbee2): undefined reference to `__powf_finite'
/home/andrew/mplayer_build/mplayer_deps/usr/lib/libx264.a(set.o): In function `x264_sps_init':
set.c:(.text+0xc68): undefined reference to `__log2f_finite'
collect2: ld returned 1 exit status
#include <inttypes.h>
#include <x264.h>
#if !(X264_BUILD >= 118)
#error We do not support old versions of x264. Get the latest from git.
#endif
int main(void) { x264_encoder_open((void*)0); return 0; }
cc -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -I/home/andrew/mplayer_build/mplayer_deps/usr/include -fno-tree-vectorize /tmp/mplayer-configure--15947/tmp.c -Ilibdvdread4 -I. -Iffmpeg -I/home/andrew/mplayer_build/mplayer_deps/usr/include -D_REENTRANT -I/usr/include/directfb -I/usr/include/ -D_REENTRANT -I/usr/include/freetype2 -lm -L/home/andrew/mplayer_build/mplayer_deps/usr/lib -lncurses -lsmbclient -lpng -lz -ljpeg -lungif -lasound -ldl -lpthread -lbluray -lcdda_interface -lcdda_paranoia -L/usr/lib/i386-linux-gnu -lfreetype -lz -lfontconfig -lfribidi -lass -lenca -lz -lspeex -ltheoradec -logg -lmpg123 -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment -lstdc++ -lrtmp -lopencore-amrnb -lopencore-amrwb -ldv -lxvidcore -ldirectfb -lXext -lX11 -lpthread -lXv -lvdpau -lXinerama -lXxf86vm -lXxf86dga -laa -L/usr/lib/i386-linux-gnu -lcaca -lvga -lSDL -lGL -ldl -lesd -lpulse -ljack -lfaac -lfaac -o /tmp/mplayer-configure--15947/tmp -lx264 -lpthread -lm
Result is: yes (in FFmpeg: yes)
##########################################
--
You think that's air you're breathing now?
More information about the MPlayer-users
mailing list