Re: [SOLVED] Cannot enable dvdnav - undefined reference to `mp_dvdtimetomsec'
John Brown <[email protected]> Tue, 11 Mar 2008 06:00:10 -0400
| Newsgroups | gmane.comp.video.mplayer.cygwin |
|---|---|
| Message-ID | <[email protected]> |
Zuxy Meng wrote: > > Hi, > > 2008/3/11, John Brown : >> 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 The patch did not work. I still had the undefined symbols. The problem was that --disable-dvdread-internal caused external dvdread to be disabled also. $ ./configure --help | grep dvdread --disable-dvdread disable libdvdread [autodetect] --disable-dvdread-internal disable internal libdvdread [autodetect] According to the documentation above, I don't think that what the configure script is doing is correct, but the solution is to configure with --disable-dvdread-internal --enable-dvdread --extra-libs=-ldvdcss (I compiled libdvdnav with CFLAGS='-I/usr/local/include -DHAVE_DVDCSS_DVDCSS_H' and I have a static libdvdcss.a) _________________________________________________________________ Shed those extra pounds with MSN and The Biggest Loser! http://biggestloser.msn.com/