[MPlayer-cygwin] [SOLVED] Cannot enable dvdnav - undefined reference to `mp_dvdtimetomsec'
John Brown
johnbrown105 at hotmail.com
Tue Mar 11 11:00:10 CET 2008
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/
More information about the MPlayer-cygwin
mailing list