Page 1 of 1

Unable to compile VLC

Posted: 01 Jul 2007 00:11
by charlest
I can't compile the current release using Cygwin.
If you could help, please send me a reply.

The errors are highlighted in bold below.
//////////
rm -f libdtstofloat32_plugin.a
ar cru libdtstofloat32_plugin.a libdtstofloat32_plugin_a-dtstofloat32.o
ranlib libdtstofloat32_plugin.a
/bin/sh ../../../libtool --mode=link gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -L/usr/win32/lib -o libdt
stofloat32_plugin.dll libdtstofloat32_plugin.a -L/usr/local/lib -g -shared -ldts_pic -u _vlc_entry__0_8_6
gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -o libdtstofloat32_plugin.dll.exe -g -shared -u _vlc_entry__0_
8_6 -L/usr/win32/lib libdtstofloat32_plugin.a -L/usr/local/lib -ldts_pic
libdtstofloat32_plugin.a(libdtstofloat32_plugin_a-dtstofloat32.o): In function `Open':
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:219: undefined reference to `_dca_init'
libdtstofloat32_plugin.a(libdtstofloat32_plugin_a-dtstofloat32.o): In function `DoWork':
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:303: undefined reference to `_dca_syncinfo'
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:312: undefined reference to `_dca_frame'
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:331: undefined reference to `_dca_blocks_num'
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:335: undefined reference to `_dca_block'
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:341: undefined reference to `_dca_samples'
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:331: undefined reference to `_dca_blocks_num'
libdtstofloat32_plugin.a(libdtstofloat32_plugin_a-dtstofloat32.o): In function `Destroy':
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:376: undefined reference to `_dca_free'
libdtstofloat32_plugin.a(libdtstofloat32_plugin_a-dtstofloat32.o): In function `CloseFilter':
/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c:430: undefined reference to `_dca_free'
collect2: ld returned 1 exit status
make[6]: *** [libdtstofloat32_plugin.dll] Error 1
make[6]: Leaving directory `/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter'
make[5]: *** [all-modules] Error 1
make[5]: Leaving directory `/home/charles_tam/vlc-0.8.6c/modules/audio_filter/converter'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/charles_tam/vlc-0.8.6c/modules/audio_filter'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/charles_tam/vlc-0.8.6c/modules/audio_filter'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/charles_tam/vlc-0.8.6c/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/charles_tam/vlc-0.8.6c'
make: *** [all] Error 2

//////////

The inputs are:
gcc 3.4.4-3
vlc-snapshot-branch-0.8.6-bugfix-20070618.tar.gz (VLC 0.8.6c)
contrib-20070530-win32-bin-gcc-3.4.5-only.tar.bz2
//////////
// This is my configure script (source Win32CompileCygwin, VideoLAN Wiki)
//////////
./bootstrap && \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--enable-sdl --with-sdl-config-path=/usr/win32/bin --disable-gtk \
--enable-nls \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
--enable-live555 --with-live555-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with-xml2-config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--disable-gnomevfs \
--enable-dts \
--enable-debug \
//////////

Re: Unable to compile VLC

Posted: 03 Jul 2007 09:17
by fred.hild
Hello
I guess this is not helping much but I have exactly the same problem. I'm using the same gcc version and contributions packet but not the same source code (I'm using vlc-0.8.6c.zip).

Re: Unable to compile VLC

Posted: 03 Jul 2007 09:38
by Jean-Baptiste Kempf
libdca/libdts... Use another version of this library.

Re: Unable to compile VLC

Posted: 03 Jul 2007 10:19
by fred.hild
Thanks for the fast answer.
I have been able to get it to compile and run know (by disabling flac and dts) and will look into the other versions of the libdts later.

Re: Unable to compile VLC

Posted: 03 Jul 2007 11:36
by charlest
I'm new in VLC compilation. Where could I get another version of the "libdca/libdts" library?

Re: Unable to compile VLC

Posted: 03 Jul 2007 16:48
by fred.hild
From other contribution-packets i guess.

Re: Unable to compile VLC

Posted: 21 Jul 2007 03:05
by tomleonard
I have, per the wiki page on "How to Compile on Windows Using Cygwin":

1. Installed a new, complete Cygwin.

2. Downloaded and unpacked the source tree for vlc.0.8.c (vlc-0.8.6c.tar.bz2)

3. Downloaded and unpacked the pre-compiled contrib libraries (contrib-20070530-win32-bin-gcc-3.4.5-only.tar.bz2) to the standard Cygwin library path (using the -C / option).

4. Created vlc-config.sh

Code: Select all

./bootstrap && \ CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \ LDFLAGS=-L/usr/win32/lib \ PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \ CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \ ./configure \ --enable-sdl --with-sdl-config-path=/usr/win32/bin --disable-gtk \ --enable-nls \ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \ --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \ --with-wx-config-path=/usr/win32/bin \ --with-freetype-config-path=/usr/win32/bin \ --with-fribidi-config-path=/usr/win32/bin \ --enable-flac \ --enable-live555 --with-live555-tree=/usr/win32/live.com \ --enable-caca --with-caca-config-path=/usr/win32/bin \ --with-xml2-config-path=/usr/win32/bin \ --with-dvdnav-config-path=/usr/win32/bin \ --disable-cddax --disable-vcdx --enable-goom \ --enable-twolame --enable-dvdread \ --disable-gnomevfs \ --enable-debug \ --enable-dts \
I added FLAC to the recommended script.

5. Ran ./vlc-config.sh and make.

6. Broke on Flac

Code: Select all

/bin/sh ../../libtool --mode=link gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -L/usr/win32/lib -o libflacdec_plugin.dll libflacdec_plugin.a -L/usr/local/lib -g -shared -lFLAC -u _vlc_entry__0_8_6 gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -o libflacdec_plugin.dll.exe -g -shared -u _vlc_entry__0_8_6 -L/usr/win32/lib libflacdec_plugin.a -L/usr/local/lib /usr/win32/lib/libFLAC.a -lm /usr/win32/lib/libogg.a /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x3fb): undefined reference to `_ntohl@4' /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x488): undefined reference to `_ntohl@4' /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x4e5): undefined reference to `_ntohl@4' /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x57f): undefined reference to `_ntohl@4' /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x5d5): undefined reference to `_ntohl@4' /usr/win32/lib/libFLAC.a(bitwriter.o):bitwriter.c:(.text+0x66f): more undefined references to `_ntohl@4' follow collect2: ld returned 1 exit status
7. Dropped Flac (./configure --disable-flac), did a ./toolbox --distclean, ./vlc-config.sh and make.

8. Broke on dts

9 Dropped dts. This required a major hack of the relevant make files because ./configure --disable-dts did not remove dts from the build.

10. Compiled.

I would now like to fix the breakage. Can someone please point me to the source tree, pre-compiled contrib libraries and configure settings that were used to build the actual release of vlc.0.8.6c. I simply wish to recreate the release build so I can then modify a couple of plugins.

Re: Unable to compile VLC

Posted: 23 Jul 2007 11:36
by Jean-Baptiste Kempf
Can't you read the INSTALL.WIN32 file ? Sorry to be sharp but this file tell you to use http://download.videolan.org//pub/testi ... ly.tar.bz2
as a contrib.

Re: Unable to compile VLC

Posted: 23 Jul 2007 16:25
by tomleonard
Thank you for pointing out my error. I've updated the wiki instructions to suggest that the INSTALL.Win32 file be referenced for the location of the relevant contrib package. When I download and install the file (having removed the wrong versions first), I note that the root for the libraries is:

"usr/win32-branch" rather than "usr/win32".

I used the configuration script recommendation from INSTALL.Win32 and modified it to refer to /usr/win32-branch. I can run configure OK, but when I run make, I get the following error:

Code: Select all

gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -o libaccess_smb_plugin.dll.exe -g -shared -u _vlc_entry__0_8_6 -L/usr/win32-branch/lib libaccess_smb_plugin.a -L/usr/local/lib if gcc -mno-cygwin -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/win32-branch/include -I/usr/win32-branch/include/ebml -D_OFF_T_ -D_off_t=long -DSYS_MINGW32 -I../../include `top_builddir="../.." ../../vlc- config --cflags plugin dvdnav` -Wsign-compare -Wall -mms-bitfields -pipe -MT libdvdnav_plugin_a-dvdnav.o -MD -MP -MF ".deps/libdvdnav_plugin_a-dvdnav.Tpo" \ -c -o libdvdnav_plugin_a-dvdnav.o `test -f 'dvdnav.c' || echo './'`dvdnav.c; \ then mv -f ".deps/libdvdnav_plugin_a-dvdnav.Tpo" ".deps/libdvdnav_plugin_a-dvdnav.Po"; \ else rm -f ".deps/libdvdnav_plugin_a-dvdnav.Tpo"; exit 1; \ fi dvdnav.c: In function `Demux': dvdnav.c:727: warning: int format, different type arg (arg 6) dvdnav.c:728: warning: int format, different type arg (arg 6) dvdnav.c:729: warning: int format, different type arg (arg 6) dvdnav.c:730: warning: int format, different type arg (arg 6) dvdnav.c:731: warning: int format, different type arg (arg 6) rm -f libdvdnav_plugin.a ar cru libdvdnav_plugin.a libdvdnav_plugin_a-dvdnav.o ranlib libdvdnav_plugin.a /bin/sh ../../libtool --mode=link gcc -mno-cygwin -Wsign-compare -Wall -mms-bitfields -pipe -L/usr/win32-branch/lib -o libdvdnav_plugin.dll libdvdnav_plugin.a -L/usr/local/lib -g -shared -L/usr/win32- branch/lib -ldvdnav -ldvdread -ldvdcss -u _vlc_entry__0_8_6 libtool: link: warning: library `/usr/win32-branch/lib/libdvdnav.la' was moved. libtool: link: warning: library `/usr/win32-branch/lib/libdvdread.la' was moved. libtool: link: warning: library `/usr/win32-branch/lib/libdvdcss.la' was moved. libtool: link: warning: library `/usr/win32-branch/lib/libdvdnav.la' was moved. libtool: link: cannot find the library `/home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libdvdread.la' or unhandled argument `/home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libdvdread.la' make[4]: *** [libdvdnav_plugin.dll] Error 1 make[4]: Leaving directory `/home/Tom/devel/vlc-0.8.6c/modules/access' make[3]: *** [all-modules] Error 1 make[3]: Leaving directory `/home/Tom/devel/vlc-0.8.6c/modules/access' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/Tom/devel/vlc-0.8.6c/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/Tom/devel/vlc-0.8.6c' make: *** [all] Error 2
I suspect I need to specify /usr/win32-branch/lib/libdvdread.la somewhere, rather than /home/videolan/jb/0.8.6-bugfix/extras/contrib/lib/libdvdread.la, but I don't know where.

As a workaround, I made a symbolic link: /home/videolan/jb/0.8.6-bugfix/extras/contrib/lib --> /usr/win32-branch/lib, and this seems to have done the trick.