Opened 13 years ago

Last modified 13 years ago

#1992 assigned defect

Configure Script Misses Required Libraries

Reported by: ewilde@… Owned by: diego@…
Priority: normal Component: build system
Version: unspecified Severity: normal
Keywords: Cc: cehoyos
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

The configure script included in the mplayer source downloaded on 2011 Oct 2 (apparently mplayer-export-2011-04-19.tar.bz2) fails to find libraries that are required to link the mplayer executable.

The whole purpose of the configure script is to find required libraries and other components that the product needs to be successfully built. If it completes successfully, the product should build correctly. If a requisite component is missing, an alternative should be configured or the configure script should fail.

In the case at hand, the following configure line was used:

./configure --prefix=/usr --confdir=/etc/mplayer --disable-live --disable-libopencore_amrnb --disable-libopencore_amrwb --disable-ffmpeg_a --enable-ffmpeg_so --codecsdir=/usr/lib/codecs

Configure says nothing about this choice of options, simply completing successfully and suggesting that the user can build OK. However, when the build is attempted, the following errors result:

command.o: In function `mp_property_audio':
command.c:(.text+0x2dc9): undefined reference to `av_strlcpy'
command.c:(.text+0x2fab): undefined reference to `av_strlcpy'
input/input.o: In function `mp_input_parse_and_queue_cmds':
input.c:(.text+0x21ef): undefined reference to `av_strlcpy'
libvo/vo_aa.o: In function `draw_slice':
vo_aa.c:(.text+0xd8b): undefined reference to `sws_scale'
libvo/vo_aa.o: In function `draw_frame':
vo_aa.c:(.text+0xea0): undefined reference to `sws_scale'
libvo/vo_aa.o: In function `resize':
vo_aa.c:(.text+0x1286): undefined reference to `sws_freeContext'
libvo/vo_matrixview.o: In function `uninit':
vo_matrixview.c:(.text+0x78): undefined reference to `sws_freeContext'
libvo/vo_matrixview.o: In function `draw_slice':
vo_matrixview.c:(.text+0x13c): undefined reference to `sws_scale'
libvo/vo_matrixview.o: In function `config':
vo_matrixview.c:(.text+0x553): undefined reference to `sws_freeContext'
libao2/ao_jack.o: In function `get_delay':
ao_jack.c:(.text+0xed): undefined reference to `av_fifo_size'
libao2/ao_jack.o: In function `get_space':
ao_jack.c:(.text+0x18c): undefined reference to `av_fifo_space'
libao2/ao_jack.o: In function `play':
ao_jack.c:(.text+0x1cd): undefined reference to `av_fifo_space'
ao_jack.c:(.text+0x1f3): undefined reference to `av_fifo_generic_write'
libao2/ao_jack.o: In function `reset':
ao_jack.c:(.text+0x216): undefined reference to `av_fifo_reset'
libao2/ao_jack.o: In function `init':
ao_jack.c:(.text+0x35c): undefined reference to `av_fifo_alloc'
ao_jack.c:(.text+0x4fa): undefined reference to `av_fifo_free'
libao2/ao_jack.o: In function `outputaudio':
ao_jack.c:(.text+0x8fd): undefined reference to `av_fifo_size'
ao_jack.c:(.text+0x93e): undefined reference to `av_fifo_generic_read'
libao2/ao_jack.o: In function `uninit':
ao_jack.c:(.text+0x9bf): undefined reference to `av_fifo_reset'
ao_jack.c:(.text+0x9ef): undefined reference to `av_fifo_free'
ao_jack.c:(.text+0xa11): undefined reference to `av_fifo_size'
libvo/vo_md5sum.o: In function `draw_image':
vo_md5sum.c:(.text+0x321): undefined reference to `av_md5_size'
vo_md5sum.c:(.text+0x38a): undefined reference to `av_md5_sum'
vo_md5sum.c:(.text+0x6a4): undefined reference to `av_md5_init'
vo_md5sum.c:(.text+0x6d0): undefined reference to `av_md5_update'
vo_md5sum.c:(.text+0x715): undefined reference to `av_md5_update'
vo_md5sum.c:(.text+0x73d): undefined reference to `av_md5_update'
vo_md5sum.c:(.text+0x754): undefined reference to `av_md5_final'
libao2/ao_sdl.o: In function `get_delay':
ao_sdl.c:(.text+0x6c): undefined reference to `av_fifo_size'
libao2/ao_sdl.o: In function `get_space':
ao_sdl.c:(.text+0xac): undefined reference to `av_fifo_space'
libao2/ao_sdl.o: In function `play':
ao_sdl.c:(.text+0xe8): undefined reference to `av_fifo_space'
ao_sdl.c:(.text+0x10e): undefined reference to `av_fifo_generic_write'
libao2/ao_sdl.o: In function `reset':
ao_sdl.c:(.text+0x138): undefined reference to `av_fifo_reset'
libao2/ao_sdl.o: In function `init':
ao_sdl.c:(.text+0x17a): undefined reference to `av_fifo_alloc'
libao2/ao_sdl.o: In function `outputaudio':
ao_sdl.c:(.text+0x4f1): undefined reference to `av_fifo_size'
ao_sdl.c:(.text+0x517): undefined reference to `av_fifo_generic_read'
libao2/ao_sdl.o: In function `uninit':
ao_sdl.c:(.text+0x551): undefined reference to `av_fifo_size'
ao_sdl.c:(.text+0x598): undefined reference to `av_fifo_free'
libvo/vo_vdpau.o: In function `uninit':
vo_vdpau.c:(.text+0xe18): undefined reference to `av_freep'
libvo/vo_x11.o: In function `draw_slice':
vo_x11.c:(.text+0x564): undefined reference to `sws_freeContext'
vo_x11.c:(.text+0x5f3): undefined reference to `sws_scale'
libvo/vo_x11.o: In function `uninit':
vo_x11.c:(.text+0xd80): undefined reference to `sws_freeContext'
libvo/vo_x11.o: In function `config':
vo_x11.c:(.text+0x1000): undefined reference to `sws_freeContext'
libvo/vo_yuv4mpeg.o: In function `config':
vo_yuv4mpeg.c:(.text+0x5df): undefined reference to `av_div_q'
vo_yuv4mpeg.c:(.text+0x616): undefined reference to `av_d2q'
m_option.o: In function `parse_subconf':
m_option.c:(.text+0xdca): undefined reference to `av_strlcpy'
m_option.c:(.text+0xee1): undefined reference to `av_strlcpy'
m_option.c:(.text+0xfb9): undefined reference to `av_strlcpy'
libaf/af_resample.o: In function `control':
af_resample.c:(.text+0x135d): undefined reference to `av_gcd'
af_resample.c:(.text+0x13dc): undefined reference to `av_gcd'
libmpcodecs/dec_audio.o: In function `init_audio':
dec_audio.c:(.text+0x23b): undefined reference to `av_mallocz'
dec_audio.c:(.text+0x288): undefined reference to `av_mallocz'
dec_audio.c:(.text+0x4b8): undefined reference to `av_freep'
dec_audio.c:(.text+0x4c3): undefined reference to `av_freep'
dec_audio.c:(.text+0x668): undefined reference to `av_freep'
dec_audio.c:(.text+0x673): undefined reference to `av_freep'
libmpcodecs/dec_audio.o: In function `uninit_audio':
dec_audio.c:(.text+0xace): undefined reference to `av_freep'
libmpcodecs/dec_audio.o:dec_audio.c:(.text+0xadb): more undefined references to `av_freep' follow
libmpcodecs/dec_teletext.o: In function `teletext_control':
dec_teletext.c:(.text+0x1a68): undefined reference to `av_reverse'
dec_teletext.c:(.text+0x2927): undefined reference to `ff_log2_tab'
libmpcodecs/mp_image.o: In function `mp_image_alloc_planes':
mp_image.c:(.text+0x37): undefined reference to `av_malloc'
mp_image.c:(.text+0xdb): undefined reference to `av_malloc'
mp_image.c:(.text+0x139): undefined reference to `av_malloc'
libmpcodecs/mp_image.o: In function `free_mp_image':
mp_image.c:(.text+0x8a7): undefined reference to `av_free'
mp_image.c:(.text+0x8b9): undefined reference to `av_free'
libmpcodecs/vd_lzo.o: In function `decode':
vd_lzo.c:(.text+0x81): undefined reference to `av_lzo1x_decode'
libmpcodecs/vf.o: In function `vf_get_image':
vf.c:(.text+0xaa3): undefined reference to `av_free'
libmpcodecs/vf_gradfun.o: In function `uninit':
vf_gradfun.c:(.text+0x7f9): undefined reference to `av_free'
libmpcodecs/vf_gradfun.o: In function `config':
vf_gradfun.c:(.text+0x87e): undefined reference to `av_mallocz'
libmpcodecs/vf_halfpack.o: In function `uninit':
vf_halfpack.c:(.text+0x895): undefined reference to `sws_freeContext'
libmpcodecs/vf_halfpack.o: In function `put_image':
vf_halfpack.c:(.text+0x9a6): undefined reference to `sws_scale'
libmpcodecs/vf_halfpack.o: In function `config':
vf_halfpack.c:(.text+0xadb): undefined reference to `sws_freeContext'
vf_halfpack.c:(.text+0xb3b): undefined reference to `sws_getContext'
libmpcodecs/vf_noise.o: In function `parse':
vf_noise.c:(.text+0x1d6): undefined reference to `av_malloc'
libmpcodecs/vf_noise.o: In function `uninit':
vf_noise.c:(.text+0x5bc): undefined reference to `av_free'
vf_noise.c:(.text+0x5d7): undefined reference to `av_free'
libmpcodecs/vf_noise.o: In function `vf_open':
vf_noise.c:(.text+0xc1a): undefined reference to `av_free'
vf_noise.c:(.text+0xc35): undefined reference to `av_free'
libmpcodecs/vf_palette.o: In function `put_image':
vf_palette.c:(.text+0x381): undefined reference to `sws_convertPalette8ToPacked32'
vf_palette.c:(.text+0x3f3): undefined reference to `sws_convertPalette8ToPacked24'
vf_palette.c:(.text+0x456): undefined reference to `sws_convertPalette8ToPacked32'
vf_palette.c:(.text+0x47e): undefined reference to `sws_convertPalette8ToPacked24'
vf_palette.c:(.text+0x56d): undefined reference to `sws_convertPalette8ToPacked32'
vf_palette.c:(.text+0x5df): undefined reference to `sws_convertPalette8ToPacked24'
vf_palette.c:(.text+0x63a): undefined reference to `sws_convertPalette8ToPacked32'
vf_palette.c:(.text+0x663): undefined reference to `sws_convertPalette8ToPacked24'
libmpcodecs/vf_perspective.o: In function `uninit':
vf_perspective.c:(.text+0x7fc): undefined reference to `av_free'
libmpcodecs/vf_perspective.o: In function `config':
vf_perspective.c:(.text+0x911): undefined reference to `av_malloc'
libmpcodecs/vf_pp7.o: In function `uninit':
vf_pp7.c:(.text+0xff9): undefined reference to `av_free'
libmpcodecs/vf_pp7.o: In function `config':
vf_pp7.c:(.text+0x11d2): undefined reference to `av_malloc'
libmpcodecs/vf_sab.o: In function `uninit':
vf_sab.c:(.text+0x122): undefined reference to `sws_freeContext'
vf_sab.c:(.text+0x134): undefined reference to `av_free'
vf_sab.c:(.text+0x146): undefined reference to `av_free'
vf_sab.c:(.text+0x165): undefined reference to `sws_freeContext'
vf_sab.c:(.text+0x17d): undefined reference to `av_free'
vf_sab.c:(.text+0x195): undefined reference to `av_free'
libmpcodecs/vf_sab.o: In function `blur':
vf_sab.c:(.text+0x342): undefined reference to `sws_scale'
libmpcodecs/vf_sab.o: In function `allocStuff':
vf_sab.c:(.text+0x87c): undefined reference to `av_malloc'
vf_sab.c:(.text+0x894): undefined reference to `sws_getGaussianVec'
vf_sab.c:(.text+0x8f6): undefined reference to `sws_getContext'
vf_sab.c:(.text+0x901): undefined reference to `sws_freeVec'
vf_sab.c:(.text+0x916): undefined reference to `sws_getGaussianVec'
vf_sab.c:(.text+0x970): undefined reference to `sws_freeVec'
vf_sab.c:(.text+0x981): undefined reference to `sws_getGaussianVec'
vf_sab.c:(.text+0x9a0): undefined reference to `av_malloc'
vf_sab.c:(.text+0xa13): undefined reference to `sws_freeVec'
libmpcodecs/vf_scale.o: In function `uninit':
vf_scale.c:(.text+0x99): undefined reference to `sws_freeContext'
vf_scale.c:(.text+0xae): undefined reference to `sws_freeContext'
libmpcodecs/vf_scale.o: In function `control':
vf_scale.c:(.text+0x174): undefined reference to `sws_getColorspaceDetails'
vf_scale.c:(.text+0x214): undefined reference to `sws_getColorspaceDetails'
vf_scale.c:(.text+0x2bc): undefined reference to `sws_setColorspaceDetails'
vf_scale.c:(.text+0x31a): undefined reference to `sws_setColorspaceDetails'
libmpcodecs/vf_scale.o: In function `scale':
vf_scale.c:(.text+0x73c): undefined reference to `sws_scale'
vf_scale.c:(.text+0x78e): undefined reference to `sws_scale'
vf_scale.c:(.text+0x7ce): undefined reference to `sws_scale'
libmpcodecs/vf_scale.o: In function `sws_getFlagsAndFilterFromCmdLine':
vf_scale.c:(.text+0xa43): undefined reference to `sws_freeFilter'
vf_scale.c:(.text+0xa8f): undefined reference to `sws_getDefaultFilter'
libmpcodecs/vf_scale.o: In function `config':
vf_scale.c:(.text+0xedb): undefined reference to `sws_freeContext'
vf_scale.c:(.text+0xef0): undefined reference to `sws_freeContext'
vf_scale.c:(.text+0xfd7): undefined reference to `sws_getContext'
vf_scale.c:(.text+0x16f4): undefined reference to `sws_getContext'
libmpcodecs/vf_scale.o: In function `sws_getContextFromCmdLine':
vf_scale.c:(.text+0x1d2d): undefined reference to `sws_getContext'
libmpcodecs/vf_smartblur.o: In function `uninit':
vf_smartblur.c:(.text+0x103): undefined reference to `sws_freeContext'
vf_smartblur.c:(.text+0x121): undefined reference to `sws_freeContext'
libmpcodecs/vf_smartblur.o: In function `config':
vf_smartblur.c:(.text+0x1eb): undefined reference to `sws_getGaussianVec'
vf_smartblur.c:(.text+0x1fc): undefined reference to `sws_scaleVec'
vf_smartblur.c:(.text+0x277): undefined reference to `sws_getContext'
vf_smartblur.c:(.text+0x282): undefined reference to `sws_freeVec'
vf_smartblur.c:(.text+0x30d): undefined reference to `sws_getGaussianVec'
vf_smartblur.c:(.text+0x31e): undefined reference to `sws_scaleVec'
vf_smartblur.c:(.text+0x3a0): undefined reference to `sws_getContext'
vf_smartblur.c:(.text+0x3ab): undefined reference to `sws_freeVec'
libmpcodecs/vf_smartblur.o: In function `put_image':
vf_smartblur.c:(.text+0x631): undefined reference to `sws_scale'
vf_smartblur.c:(.text+0x831): undefined reference to `sws_scale'
vf_smartblur.c:(.text+0xa13): undefined reference to `sws_scale'
libmpcodecs/vf_unsharp.o: In function `uninit':
vf_unsharp.c:(.text+0x168): undefined reference to `av_free'
vf_unsharp.c:(.text+0x193): undefined reference to `av_free'
libmpcodecs/vf_unsharp.o: In function `config':
vf_unsharp.c:(.text+0x904): undefined reference to `av_malloc'
vf_unsharp.c:(.text+0x9cc): undefined reference to `av_malloc'
libmpcodecs/vf_unsharp.o: In function `vf_open':
vf_unsharp.c:(.text+0xb30): undefined reference to `av_free'
vf_unsharp.c:(.text+0xb6b): undefined reference to `av_free'
libmpdemux/asfheader.o: In function `get_ucs2str':
asfheader.c:(.text+0x67): undefined reference to `ff_log2_tab'
libmpdemux/demux_mkv.o: In function `demux_mkv_decode.clone.5':
demux_mkv.c:(.text+0x1272): undefined reference to `av_lzo1x_decode'
libmpdemux/ebml.o: In function `ebml_read_float':
ebml.c:(.text+0x1133): undefined reference to `av_int2dbl'
ebml.c:(.text+0x11c4): undefined reference to `av_int2flt'
libmpdemux/mp_taglists.o:(.rodata+0x0): undefined reference to `ff_codec_wav_tags'
libmpdemux/mp_taglists.o:(.rodata+0x14): undefined reference to `ff_codec_bmp_tags'
stream/stream.o: In function `stream_read_line':
stream.c:(.text+0x1c2e): undefined reference to `ff_log2_tab'
stream.c:(.text+0x1d78): undefined reference to `ff_log2_tab'
stream/stream_bd.o: In function `bd_stream_fill_buffer':
stream_bd.c:(.text+0x1f9): undefined reference to `av_aes_crypt'
stream_bd.c:(.text+0x238): undefined reference to `av_aes_init'
stream_bd.c:(.text+0x272): undefined reference to `av_aes_crypt'
stream_bd.c:(.text+0x32b): undefined reference to `av_aes_crypt'
stream/stream_bd.o: In function `bd_stream_close':
stream_bd.c:(.text+0x37d): undefined reference to `av_free'
stream_bd.c:(.text+0x388): undefined reference to `av_free'
stream/stream_bd.o: In function `bd_stream_open':
stream_bd.c:(.text+0x63e): undefined reference to `av_malloc'
stream_bd.c:(.text+0x6e5): undefined reference to `av_sha_size'
stream_bd.c:(.text+0x6ed): undefined reference to `av_malloc'
stream_bd.c:(.text+0x6ff): undefined reference to `av_sha_init'
stream_bd.c:(.text+0x717): undefined reference to `av_sha_update'
stream_bd.c:(.text+0x72a): undefined reference to `av_sha_final'
stream_bd.c:(.text+0x732): undefined reference to `av_free'
stream_bd.c:(.text+0x99a): undefined reference to `av_aes_size'
stream_bd.c:(.text+0x9b1): undefined reference to `av_free'
stream_bd.c:(.text+0x9bd): undefined reference to `av_malloc'
stream_bd.c:(.text+0x9cc): undefined reference to `av_malloc'
stream_bd.c:(.text+0x9ee): undefined reference to `av_aes_init'
stream_bd.c:(.text+0xdf1): undefined reference to `av_aes_size'
stream_bd.c:(.text+0xe07): undefined reference to `av_malloc'
stream_bd.c:(.text+0xe25): undefined reference to `av_aes_init'
stream_bd.c:(.text+0x1270): undefined reference to `av_aes_crypt'
stream_bd.c:(.text+0x127d): undefined reference to `av_free'
stream_bd.c:(.text+0x1385): undefined reference to `av_free'
stream/stream_cue.o: In function `cue_read_cue':
stream_cue.c:(.text+0x4d0): undefined reference to `av_strlcpy'
stream_cue.c:(.text+0x566): undefined reference to `av_strlcpy'
stream_cue.c:(.text+0x919): undefined reference to `av_strlcpy'
sub/spudec.o: In function `spudec_draw_scaled':
spudec.c:(.text+0x3778): undefined reference to `sws_getContext'
spudec.c:(.text+0x37ba): undefined reference to `sws_scale'
spudec.c:(.text+0x3817): undefined reference to `sws_scale'
spudec.c:(.text+0x3b13): undefined reference to `sws_freeContext'
spudec.c:(.text+0x3b53): undefined reference to `sws_freeVec'
spudec.c:(.text+0x3b78): undefined reference to `sws_getGaussianVec'
spudec.c:(.text+0x3b9a): undefined reference to `sws_normalizeVec'
sub/sub.o: In function `vo_update_text_sub':
sub.c:(.text+0x1df0): undefined reference to `ff_log2_tab'
sub/sub.o: In function `vo_update_osd_ext.clone.3':
sub.c:(.text+0x2bf3): undefined reference to `ff_log2_tab'
sub.c:(.text+0x2d06): undefined reference to `ff_log2_tab'
sub/sub.o: In function `utf8_get_char':
sub.c:(.text+0x306a): undefined reference to `ff_log2_tab'
sub/sub.o: In function `vo_draw_text_ext':
sub.c:(.text+0x3a63): undefined reference to `ff_log2_tab'
sub/sub.o:sub.c:(.text+0x3b7e): more undefined references to `ff_log2_tab' follow
sub/subreader.o: In function `sub_read_line_jacosub':
subreader.c:(.text+0x1e74): undefined reference to `av_strlcat'
stream/stream_dvb.o: In function `dvb_get_channels':
stream_dvb.c:(.text+0x26f): undefined reference to `av_strlcpy'
stream/librtsp/rtsp_rtp.o: In function `rtp_setup_and_play':
rtsp_rtp.c:(.text+0xa95): undefined reference to `av_strlcpy'
stream/http.o: In function `http_add_authentication':
http.c:(.text+0x455): undefined reference to `av_base64_encode'
stream/realrtsp/real.o: In function `real_setup_and_get_header':
real.c:(.text+0x559): undefined reference to `av_base64_encode'
real.c:(.text+0xedc): undefined reference to `av_md5_sum'
stream/stream_pvr.o: In function `parse_setup_stationlist':
stream_pvr.c:(.text+0x9ac): undefined reference to `av_strlcpy'
stream_pvr.c:(.text+0xa07): undefined reference to `av_strlcpy'
stream_pvr.c:(.text+0xaff): undefined reference to `av_strlcpy'
stream_pvr.c:(.text+0xb1e): undefined reference to `av_strlcpy'
stream_pvr.c:(.text+0xd4c): undefined reference to `av_strlcpy'
stream/stream_pvr.o:stream_pvr.c:(.text+0xe60): more undefined references to `av_strlcpy' follow
libmpcodecs/ad_twin.o: In function `preinit':
ad_twin.c:(.text+0x527): undefined reference to `av_malloc'
libmpcodecs/vd_dmo.o: In function `uninit':
vd_dmo.c:(.text+0x13d): undefined reference to `av_free'
libmpcodecs/vd_dmo.o: In function `init':
vd_dmo.c:(.text+0x37f): undefined reference to `av_malloc'
collect2: ld returned 1 exit status

Clearly one or more libraries are missing. The configure script should have either found the libraries and configured the makefile correctly or it should have ended with an error and suggested how the missing library problem could be fixed. It should not have reported success and suggested that a subsequent build would be successful.

Change History (2)

comment:1 by cehoyos, 13 years ago

Cc: cehoyos@… added

Didn't configure output "using shared FFmpeg, but static FFmpeg is recommended"?

Please test a current snapshot, see bug 1991.

comment:2 by diego@…, 13 years ago

Status: newassigned

Please attach your config.log file.

Note: See TracTickets for help on using tickets.