[MPlayer-users] Problem compiling mPlayer from svn.

Giorgio Vazzana mywing81 at gmail.com
Sat Oct 13 12:26:19 CEST 2012


2012/10/8 Carl Eugen Hoyos <cehoyos at ag.or.at>:
> Giorgio Vazzana <mywing81 <at> gmail.com> writes:
>
>> holden <at> rye:~/tmp$ cat v.c
>> #include <vorbis/vorbisenc.h>
>> int main(void) { vorbis_encode_ctl(0, 0, 0); return 0; }
>> holden <at> rye:~/tmp$ gcc -Wall v.c -lvorbis
>
> This is not what configure tests iirc.

Sorry for the delay, this is what I see in config.log:

##########################################

============ Checking for OggVorbis support ============

#include <tremor/ivorbiscodec.h>
int main(void) { vorbis_packet_blocksize(0, 0); return 0; }

cc -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith
-Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes
-Wdisabled-optimization -Wno-pointer-sign
-Wdeclaration-after-statement -std=gnu99
-Werror-implicit-function-declaration -O4 -march=native -mtune=native
-pipe -ffast-math -fomit-frame-pointer -fno-tree-vectorize
/tmp/mplayer-configure--1484/tmp.c -Ilibdvdread4 -I. -Iffmpeg
-D_REENTRANT -I/usr/include/directfb -I/usr/include/     -D_REENTRANT
 -I/usr/include/freetype2   -ffast-math   -lncurses -lpng -lz -ljpeg
-lasound -ldl -lpthread -lfreetype -lz -lfontconfig  -lz -lmad
-ldirectfb  -lXext -lX11 -lpthread -lXv -lXinerama -laa -L/usr/lib
-lcaca -lSDL -lGL -ldl -lesd   -laudio -lXt -lpulse    -o
/tmp/mplayer-configure--1484/tmp -logg -lvorbisidec -lm
/tmp/mplayer-configure--1484/tmp.c:1:33: error: tremor/ivorbiscodec.h:
No such file or directory
/tmp/mplayer-configure--1484/tmp.c: In function 'main':
/tmp/mplayer-configure--1484/tmp.c:2: error: implicit declaration of
function 'vorbis_packet_blocksize'



#include <vorbis/vorbisenc.h>
int main(void) { vorbis_encode_ctl(0, 0, 0); ogg_stream_clear(0); return 0; }

cc -Wundef -Wall -Wno-switch -Wno-parentheses -Wpointer-arith
-Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes
-Wdisabled-optimization -Wno-pointer-sign
-Wdeclaration-after-statement -std=gnu99
-Werror-implicit-function-declaration -O4 -march=native -mtune=native
-pipe -ffast-math -fomit-frame-pointer -fno-tree-vectorize
/tmp/mplayer-configure--1484/tmp.c -Ilibdvdread4 -I. -Iffmpeg
-D_REENTRANT -I/usr/include/directfb -I/usr/include/     -D_REENTRANT
 -I/usr/include/freetype2   -ffast-math   -lncurses -lpng -lz -ljpeg
-lasound -ldl -lpthread -lfreetype -lz -lfontconfig  -lz -lmad
-ldirectfb  -lXext -lX11 -lpthread -lXv -lXinerama -laa -L/usr/lib
-lcaca -lSDL -lGL -ldl -lesd   -laudio -lXt -lpulse    -o
/tmp/mplayer-configure--1484/tmp -lvorbis -logg -lm


Result is: yes (libvorbis)
##########################################

>> /tmp/ccxLWwPN.o: In function `main':
>> v.c:(.text+0x14): undefined reference to `vorbis_encode_ctl'
>> collect2: ld returned 1 exit status
>> holden <at> rye:~/tmp$ gcc -Wall v.c -lvorbis -lpulse
>> holden <at> rye:~/tmp$ gcc -Wall v.c -lvorbis -lSDL
>> holden <at> rye:~/tmp$ gcc -Wall v.c -lvorbis -lvorbisenc
>
> But configure only adds those libraries if they are also
> added for config.mak which means they are also used
> at build time afaict.

At build time I see different libraries being linked:

$ ./configure --enable-gui --disable-vidix --disable-mp3lib
$ make
...
cc -o mencoder mencoder.o parser-mecmd.o xvid_vbr.o libmpcodecs/ae.o
libmpcodecs/ae_pcm.o libmpcodecs/ve.o libmpcodecs/ve_raw.o
libmpdemux/muxer.o libmpdemux/muxer_avi.o libmpdemux/muxer_mpeg.o
libmpdemux/muxer_rawaudio.o libmpdemux/muxer_rawvideo.o
libmpcodecs/ae_lavc.o libmpcodecs/ve_lavc.o libmpdemux/muxer_lavf.o
libmpcodecs/ae_lame.o libmpcodecs/ve_x264.o libmpcodecs/ve_xvid4.o
asxparser.o bstr.o codec-cfg.o cpudetect.o edl.o fmt-conversion.o
m_config.o m_option.o m_struct.o mp_msg.o mp_strings.o mpcommon.o
parser-cfg.o path.o playtree.o playtreeparser.o subopt-helper.o
libaf/af.o libaf/af_center.o libaf/af_channels.o libaf/af_comp.o
libaf/af_delay.o libaf/af_dummy.o libaf/af_equalizer.o
libaf/af_extrastereo.o libaf/af_format.o libaf/af_gate.o
libaf/af_hrtf.o libaf/af_karaoke.o libaf/af_pan.o libaf/af_resample.o
libaf/af_scaletempo.o libaf/af_sinesuppress.o libaf/af_stats.o
libaf/af_sub.o libaf/af_surround.o libaf/af_sweep.o libaf/af_tools.o
libaf/af_volnorm.o libaf/af_volume.o libaf/filter.o libaf/format.o
libaf/reorder_ch.o libaf/window.o libmpcodecs/ad.o
libmpcodecs/ad_alaw.o libmpcodecs/ad_dk3adpcm.o
libmpcodecs/ad_dvdpcm.o libmpcodecs/ad_hwac3.o libmpcodecs/ad_hwmpa.o
libmpcodecs/ad_imaadpcm.o libmpcodecs/ad_msadpcm.o
libmpcodecs/ad_pcm.o libmpcodecs/dec_audio.o
libmpcodecs/dec_teletext.o libmpcodecs/dec_video.o
libmpcodecs/img_format.o libmpcodecs/mp_image.o libmpcodecs/pullup.o
libmpcodecs/vd.o libmpcodecs/vd_hmblck.o libmpcodecs/vd_lzo.o
libmpcodecs/vd_mpegpes.o libmpcodecs/vd_mtga.o libmpcodecs/vd_null.o
libmpcodecs/vd_raw.o libmpcodecs/vd_sgi.o libmpcodecs/vf.o
libmpcodecs/vf_1bpp.o libmpcodecs/vf_2xsai.o
libmpcodecs/vf_blackframe.o libmpcodecs/vf_boxblur.o
libmpcodecs/vf_crop.o libmpcodecs/vf_cropdetect.o
libmpcodecs/vf_decimate.o libmpcodecs/vf_delogo.o
libmpcodecs/vf_denoise3d.o libmpcodecs/vf_detc.o libmpcodecs/vf_dint.o
libmpcodecs/vf_divtc.o libmpcodecs/vf_down3dright.o
libmpcodecs/vf_dsize.o libmpcodecs/vf_dvbscale.o libmpcodecs/vf_eq.o
libmpcodecs/vf_eq2.o libmpcodecs/vf_expand.o libmpcodecs/vf_field.o
libmpcodecs/vf_fil.o libmpcodecs/vf_filmdint.o libmpcodecs/vf_fixpts.o
libmpcodecs/vf_flip.o libmpcodecs/vf_format.o
libmpcodecs/vf_framestep.o libmpcodecs/vf_gradfun.o
libmpcodecs/vf_halfpack.o libmpcodecs/vf_harddup.o
libmpcodecs/vf_hqdn3d.o libmpcodecs/vf_hue.o libmpcodecs/vf_il.o
libmpcodecs/vf_ilpack.o libmpcodecs/vf_ivtc.o
libmpcodecs/vf_kerndeint.o libmpcodecs/vf_mirror.o
libmpcodecs/vf_noformat.o libmpcodecs/vf_noise.o libmpcodecs/vf_ow.o
libmpcodecs/vf_palette.o libmpcodecs/vf_perspective.o
libmpcodecs/vf_phase.o libmpcodecs/vf_pp7.o libmpcodecs/vf_pullup.o
libmpcodecs/vf_rectangle.o libmpcodecs/vf_remove_logo.o
libmpcodecs/vf_rgbtest.o libmpcodecs/vf_rotate.o libmpcodecs/vf_sab.o
libmpcodecs/vf_scale.o libmpcodecs/vf_smartblur.o
libmpcodecs/vf_softpulldown.o libmpcodecs/vf_stereo3d.o
libmpcodecs/vf_softskip.o libmpcodecs/vf_swapuv.o
libmpcodecs/vf_telecine.o libmpcodecs/vf_test.o
libmpcodecs/vf_tfields.o libmpcodecs/vf_tile.o
libmpcodecs/vf_tinterlace.o libmpcodecs/vf_unsharp.o
libmpcodecs/vf_vo.o libmpcodecs/vf_yadif.o libmpcodecs/vf_yuvcsp.o
libmpcodecs/vf_yvu9.o libmpdemux/aac_hdr.o libmpdemux/asfheader.o
libmpdemux/aviheader.o libmpdemux/aviprint.o libmpdemux/demuxer.o
libmpdemux/demux_aac.o libmpdemux/demux_asf.o libmpdemux/demux_audio.o
libmpdemux/demux_avi.o libmpdemux/demux_demuxers.o
libmpdemux/demux_film.o libmpdemux/demux_fli.o
libmpdemux/demux_lmlm4.o libmpdemux/demux_mf.o libmpdemux/demux_mkv.o
libmpdemux/demux_mov.o libmpdemux/demux_mpg.o libmpdemux/demux_nsv.o
libmpdemux/demux_pva.o libmpdemux/demux_rawaudio.o
libmpdemux/demux_rawvideo.o libmpdemux/demux_realaud.o
libmpdemux/demux_real.o libmpdemux/demux_roq.o
libmpdemux/demux_smjpeg.o libmpdemux/demux_ts.o libmpdemux/demux_ty.o
libmpdemux/demux_ty_osd.o libmpdemux/demux_viv.o
libmpdemux/demux_vqf.o libmpdemux/demux_y4m.o libmpdemux/ebml.o
libmpdemux/extension.o libmpdemux/mf.o libmpdemux/mp3_hdr.o
libmpdemux/mp_taglists.o libmpdemux/mpeg_hdr.o
libmpdemux/mpeg_packetizer.o libmpdemux/parse_es.o
libmpdemux/parse_mp4.o libmpdemux/video.o libmpdemux/yuv4mpeg.o
libmpdemux/yuv4mpeg_ratio.o osdep/getch2.o osdep/timer-linux.o
stream/open.o stream/stream.o stream/stream_bd.o stream/stream_cue.o
stream/stream_file.o stream/stream_mf.o stream/stream_null.o
stream/url.o sub/eosd.o sub/find_sub.o sub/osd.o sub/spudec.o
sub/sub.o sub/sub_cc.o sub/subreader.o sub/vobsub.o stream/ai_alsa.o
stream/ai_oss.o sub/font_load.o stream/dvb_tune.o stream/stream_dvb.o
stream/stream_dvdnav.o libdvdnav/dvdnav.o libdvdnav/highlight.o
libdvdnav/navigation.o libdvdnav/read_cache.o libdvdnav/remap.o
libdvdnav/searching.o libdvdnav/settings.o libdvdnav/vm/decoder.o
libdvdnav/vm/vm.o libdvdnav/vm/vmcmd.o stream/stream_dvd.o
stream/stream_dvd_common.o libdvdread4/bitreader.o
libdvdread4/dvd_input.o libdvdread4/dvd_reader.o libdvdread4/dvd_udf.o
libdvdread4/ifo_print.o libdvdread4/ifo_read.o libdvdread4/md5.o
libdvdread4/nav_print.o libdvdread4/nav_read.o libvo/aclib.o
av_helpers.o av_opts.o libaf/af_lavcac3enc.o libaf/af_lavcresample.o
libmpcodecs/ad_ffmpeg.o libmpcodecs/ad_spdif.o libmpcodecs/vd_ffmpeg.o
libmpcodecs/vf_geq.o libmpcodecs/vf_lavc.o libmpcodecs/vf_lavcdeint.o
libmpcodecs/vf_screenshot.o libmpdemux/demux_lavf.o
stream/stream_ffmpeg.o sub/av_sub.o libmpcodecs/vf_fspp.o
libmpcodecs/vf_mcdeint.o libmpcodecs/vf_qp.o libmpcodecs/vf_spp.o
libmpcodecs/vf_uspp.o sub/font_load_ft.o stream/stream_ftp.o
libmpcodecs/vf_bmovl.o libaf/af_export.o osdep/mmap_anon.o
libmpcodecs/vd_ijpg.o libmpcodecs/vf_ass.o sub/ass_mp.o
sub/subassconvert.o libass/ass.o libass/ass_bitmap.o
libass/ass_cache.o libass/ass_drawing.o libass/ass_font.o
libass/ass_fontconfig.o libass/ass_library.o libass/ass_parse.o
libass/ass_render.o libass/ass_render_api.o libass/ass_shaper.o
libass/ass_strtod.o libass/ass_utils.o libdvdcss/css.o
libdvdcss/device.o libdvdcss/error.o libdvdcss/ioctl.o
libdvdcss/libdvdcss.o libmpcodecs/ad_libmad.o
libmpcodecs/vd_libmpeg2.o libmpeg2/alloc.o libmpeg2/cpu_accel.o
libmpeg2/cpu_state.o libmpeg2/decode.o libmpeg2/header.o
libmpeg2/idct.o libmpeg2/motion_comp.o libmpeg2/slice.o
libmpeg2/idct_mmx.o libmpeg2/motion_comp_mmx.o libmpcodecs/vd_theora.o
libmpcodecs/ad_mpg123.o stream/stream_rtsp.o stream/freesdp/common.o
stream/freesdp/errorlist.o stream/freesdp/parser.o
stream/librtsp/rtsp.o stream/librtsp/rtsp_rtp.o
stream/librtsp/rtsp_session.o stream/stream_netstream.o
stream/asf_mmst_streaming.o stream/asf_streaming.o stream/cookies.o
stream/http.o stream/network.o stream/pnm.o stream/rtp.o stream/udp.o
stream/tcp.o stream/stream_rtp.o stream/stream_udp.o
stream/realrtsp/asmrp.o stream/realrtsp/real.o stream/realrtsp/rmff.o
stream/realrtsp/sdpplin.o stream/realrtsp/xbuffer.o
libmpcodecs/vd_mpng.o libmpcodecs/vf_pp.o stream/stream_pvr.o
libmpcodecs/ad_realaud.o libmpcodecs/vd_realvid.o stream/cache2.o
stream/stream_tv.o stream/tv.o stream/frequencies.o stream/tvi_dummy.o
stream/tvi_v4l.o stream/audio_in.o stream/tvi_v4l2.o sub/unrar_exec.o
stream/stream_vcd.o libmpcodecs/ad_libvorbis.o libmpdemux/demux_ogg.o
libmpcodecs/vd_xanim.o libmpcodecs/vd_xvid4.o osdep/shmem.o
ffmpeg/libpostproc/libpostproc.a ffmpeg/libavfilter/libavfilter.a
ffmpeg/libavformat/libavformat.a ffmpeg/libavcodec/libavcodec.a
ffmpeg/libswscale/libswscale.a ffmpeg/libswresample/libswresample.a
ffmpeg/libavutil/libavutil.a -Wl,-z,noexecstack  -ffast-math
-lncurses -lpng -lz -ljpeg -lasound -ldl -lpthread -lfreetype -lz
-lfontconfig  -lz -lmad -lvorbis -logg -ltheoradec -logg -lmpg123
-L/usr/local/lib -lopus   -lxvidcore -lvpx -lpthread -ldl -rdynamic
-L/usr/lib -lm   -lx264 -lpthread -lmp3lame
ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function
`oggvorbis_encode_init':
libvorbisenc.c:(.text.unlikely+0x109): undefined reference to
`vorbis_encode_setup_vbr'
libvorbisenc.c:(.text.unlikely+0x151): undefined reference to
`vorbis_encode_setup_managed'
libvorbisenc.c:(.text.unlikely+0x172): undefined reference to
`vorbis_encode_ctl'
libvorbisenc.c:(.text.unlikely+0x1ae): undefined reference to
`vorbis_encode_ctl'
libvorbisenc.c:(.text.unlikely+0x1d8): undefined reference to
`vorbis_encode_ctl'
libvorbisenc.c:(.text.unlikely+0x2de): undefined reference to
`vorbis_encode_setup_init'
collect2: ld returned 1 exit status
make: *** [mencoder] Errore 1

We have "-lvorbis -logg", but "-lvorbisenc" is missing, and I don't
see -lpulse or -lSDL for example, and this should be why the configure
check passes while build fails.

Giorgio Vazzana


More information about the MPlayer-users mailing list