Re: Cannot enable dvdnav - undefined reference to `mp_dvdtimetomsec'
"Zuxy Meng" <[email protected]> Tue, 11 Mar 2008 10:47:11 +0800
| Newsgroups | gmane.comp.video.mplayer.cygwin |
|---|---|
| Message-ID | <[email protected]> |
Hi, 2008/3/11, John Brown <[email protected]>: > Hello All, > > I tried to compile svn 26208 with gcc-3.4.5 on MinGW/MSYS. > > I followed the instructions in DOCS/tech/dvdnav-howto.txt. Libdvdnav (r997) > compiled successfully. > > I configured MPlayer like this: > > TMPDIR=./tmp TEMPDIR=./tmp ./configure --disable-dvdread-internal --enable-gui > --enable-debug=3 --prefix=/usr/local --with-extraincdir=/usr/local/include > --with-extralibdir=/usr/local/lib --extra-libs=-ldvdcss --enable-static > --codecsdir=codecs --disable-sdl --disable-pthreads --enable-largefiles > > BUGREPORT/configure.txt 2>&1 > > I needed to manually add -ldvdread to EXTRALIBS in config.mak, but after > doing that, I was still left with the following errors: > > gcc -o mplayer.exe osdep/mplayer-rc.o mplayer.o m_property.o mp_fifo.o mp_msg.o > mixer.o parser-mpcmd.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_ > sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtr > ee.o playtreeparser.o spudec.o sub_cc.o subopt-helper.o subreader.o vobsub.o lib > vo/libvo.a libao2/libao2.a input/libinput.a vidix/libvidix.a gui/libgui.a libmpc > odecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libsws > cale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec > .a libavutil/libavutil.a libpostproc/libpostproc.a loader/libloader.a mp3lib/lib > mp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisid > ec.a libass/libass.a osdep/libosdep.a -lopengl32 -lgdi32 -lgdi32 -lwinmm -lgdi32 > -lfaac -lx264 -lmp3lame -lcomdlg32 -lcomctl32 -lshell32 -lkernel32 /usr/local/l > ive/liveMedia/libliveMedia.a /usr/local/live/groupsock/libgroup > sock.a /usr/local/live/UsageEnvironment/libUsageEnvironment.a > /usr/local/live/BasicUsageEnvironment/libBasicUsageEnvironment.a > -L/usr/local/lib -lwinmm -lws2_32 -liconv -lpng -lz -ljpeg -lu > ngif -lcdio_cdda -lcdio -lcdio_paranoia -lwinmm -L/usr/local/lib -lfreetype -lfo > ntconfig -lexpat -lfreetype -lz -llzo2 -lmad -lspeex -ltheora -logg -ldts -ladva > pi32 -lole32 -lstdc++ -lamrnb -lamrwb -lxvidcore -lm -lnut -lole32 -luuid -L > /usr/local/lib -ldvdnavmini -static -lm -ldvdread -ldvdcss > stream/stream.a(stream_dvdnav.o): In function `fill_buffer': > c:/progra~1/multimedia/mplayer/svn/stream/stream_dvdnav.c:217: undefined referen > ce to `mp_dvdtimetomsec' > stream/stream.a(stream_dvdnav.o): In function `open_s': > c:/progra~1/multimedia/mplayer/svn/stream/stream_dvdnav.c:526: undefined referen > ce to `dvd_audio_stream_types' > c:/progra~1/multimedia/mplayer/svn/stream/stream_dvdnav.c:526: undefined referen > ce to `dvd_audio_stream_channels' > c:/progra~1/multimedia/mplayer/svn/stream/stream_dvdnav.c:574: undefined referen > ce to `dvd_angle' > collect2: ld returned 1 exit status > make: *** [mplayer.exe] Error 1 > > I see that mp_dvdtimetomsec is defined in stream/stream_dvd_common.c, > but it is listed as an undefined symbol in stream/stream.a. > > I gave up trying to find out where the other symbols were defined. Try this patch. -- Zuxy Beauty is truth, While truth is beauty. PGP KeyID: E8555ED6 _______________________________________________ MPlayer-cygwin mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin
configure.diff
(text/plain, 1 KB)
Index: configure =================================================================== --- configure £¨°æ±¾ 26219£© +++ configure £¨¹¤×÷¸±±¾£© @@ -5420,7 +5423,7 @@ elif test "$_dvdread" = yes; then _def_dvdread='#define USE_DVDREAD 1' _largefiles=yes - _ld_extra="$_ld_extra -ldvdread" + _ld_extra="$_ld_extra -ldvdnav -ldvdread" _inputmodules="dvdread(external) $_inputmodules" _res_comment="external" else @@ -7603,7 +7607,7 @@ # to use its own copy of the library) echocheck "DVD support (libdvdnav)" if test "$_dvdnav" = auto ; then - $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no + $_dvdnavconfig --version --libs >> $TMPLOG 2>&1 || _dvdnav=no fi if test "$_dvdnav" = auto ; then cat > $TMPC <<EOF @@ -7620,7 +7624,7 @@ _largefiles=yes _def_dvdnav='#define USE_DVDNAV 1' _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`" - _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`" + _ld_extra="$_ld_extra `$_dvdnavconfig --libs`" _inputmodules="dvdnav $_inputmodules" else _def_dvdnav='#undef USE_DVDNAV'