VLC compilation - what gcc version?

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
VRomanov
New Cone
New Cone
Posts: 6
Joined: 21 Sep 2005 19:47

VLC compilation - what gcc version?

Postby VRomanov » 21 Sep 2005 19:59

I downloaded VLC's source code 0.8.2 (file vlc-0.8.2.tar.gz) from URL http://www.videolan.org/vlc/download-sources.html.
But when I compile it on Windows 2000, some errors occur.
Now , I use:
WindowsXP SP2 Prof
CygWin, distribution URL http://cygwin.osuosl.org
File contrib-20050606-win32-bin-gcc3.3.1-only.tar.bz2
File config_setup:

Code: Select all

./bootstrap && \ CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \ LDFLAGS=-L/usr/win32/lib \ CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \ ./configure \ --disable-sdl --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-livedotcom --with-livedotcom-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 \ --enable-debug
I have tried gcc and g++ versions 3.3.3 and 3.4.4
And when I build it in cgywin, the error below appear:

gcc 3.4.4 and g++ 3.4.4
configure - succesful
make:

Code: Select all

/usr/win32/lib/libmatroska.a(KaxBlock.o):KaxBlock.cpp:(.text$_ZNSt14__simple_all ocIiSt24__default_alloc_templateILb1ELi0EEE10deallocateEPij[std::__simple_alloc< int, std::__default_alloc_template<true, 0> >::deallocate(int*, unsigned int)]+0 x1d): undefined reference to `std::__default_alloc_template<true, 0>::deallocate (void*, unsigned int)' /usr/win32/lib/libmatroska.a(KaxBlock.o):KaxBlock.cpp:(.text$_ZNSt14__simple_all ocIPN11libmatroska10DataBufferESt24__default_alloc_templateILb1ELi0EEE8allocateE j[std::__simple_alloc<libmatroska::DataBuffer*, std::__default_alloc_template<tr ue, 0> >::allocate(unsigned int)]+0x1d): undefined reference to `std::__default_ alloc_template<true, 0>::allocate(unsigned int)' /usr/win32/lib/libmatroska.a(KaxBlock.o):KaxBlock.cpp:(.text$_ZNSt14__simple_all ocIiSt24__default_alloc_templateILb1ELi0EEE8allocateEj[std::__simple_alloc<int, std::__default_alloc_template<true, 0> >::allocate(unsigned int)]+0x1d): undefin ed reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)' /usr/win32/lib/libebml.a(EbmlMaster.o):EbmlMaster.cpp:(.text$_ZNSt14__simple_all ocISsSt24__default_alloc_templateILb1ELi0EEE10deallocateEPSsj[std::__simple_allo c<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_ _default_alloc_template<true, 0> >::deallocate(std::basic_string<char, std::char _traits<char>, std::allocator<char> >*, unsigned int)]+0x1d): undefined referenc e to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)' /usr/win32/lib/libebml.a(EbmlMaster.o):EbmlMaster.cpp:(.text$_ZNSt14__simple_all ocISsSt24__default_alloc_templateILb1ELi0EEE8allocateEj[std::__simple_alloc<std: :basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__defau lt_alloc_template<true, 0> >::allocate(unsigned int)]+0x1d): undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)' /usr/win32/lib/libebml.a(EbmlMaster.o):EbmlMaster.cpp:(.text$_ZNSt14__simple_all ocIPN7libebml11EbmlElementESt24__default_alloc_templateILb1ELi0EEE8allocateEj[st d::__simple_alloc<libebml::EbmlElement*, std::__default_alloc_template<true, 0> >::allocate(unsigned int)]+0x1d): undefined reference to `std::__default_alloc_t emplate<true, 0>::allocate(unsigned int)' /usr/win32/lib/libebml.a(EbmlMaster.o):EbmlMaster.cpp:(.text$_ZNSt14__simple_all ocIPN7libebml11EbmlElementESt24__default_alloc_templateILb1ELi0EEE10deallocateEP S2_j[std::__simple_alloc<libebml::EbmlElement*, std::__default_alloc_template<tr ue, 0> >::deallocate(libebml::EbmlElement**, unsigned int)]+0x1d): undefined ref erence to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned in t)' collect2: ld returned 1 exit status make[2]: *** [vlc.exe] Error 1 make[2]: Leaving directory `/home/victor/vlc-0.8.2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/victor/vlc-0.8.2' make: *** [all] Error 2 victor@designer ~/vlc-0.8.2 $
gcc 3.3.3 and g++ 3.3.3

Code: Select all

configure.ac:12: installing `autotools/config.sub' + rm -f vlc-config.in vlc-config + rm -f src/misc/modules_builtin.h src/misc/modules_plugin.h + rm -f include/vlc_symbols.h + rm -f mozilla/vlcintf.h + set +x ============================================================== NOTE: you do not have the "pkg-config" utility on your system; detection of the Gtk-2.0 and GNOME 2.0 libraries will not be reliable. checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking target system type... i686-pc-cygwin checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc -mno-cygwin checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details. victor@designer ~/vlc-0.8.2 $
From `config.log':

Code: Select all

## ----------- ## ## Core tests. ## ## ----------- ## configure:1540: checking build system type configure:1558: result: i686-pc-cygwin configure:1566: checking host system type configure:1580: result: i686-pc-cygwin configure:1588: checking target system type configure:1602: result: i686-pc-cygwin configure:1631: checking for a BSD-compatible install configure:1686: result: /usr/bin/install -c configure:1697: checking whether build environment is sane configure:1740: result: yes configure:1805: checking for gawk configure:1821: found /usr/bin/gawk configure:1831: result: gawk configure:1841: checking whether make sets $(MAKE) configure:1861: result: yes configure:2086: checking for gcc configure:2112: result: gcc -mno-cygwin configure:2356: checking for C compiler version configure:2359: gcc -mno-cygwin --version </dev/null >&5 gcc (GCC) 3.3.3 (cygwin special) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2362: $? = 0 configure:2364: gcc -mno-cygwin -v </dev/null >&5 Using built-in specs. Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls --without-included-gettext --enable-libgcj --with-system-zlib --enable-interpreter --enable-threads=posix --enable-java-gc=boehm --enable-sjlj-exceptions --disable-version-specific-runtime-libs --disable-win32-registry Thread model: posix gcc version 3.3.3 (cygwin special) configure:2367: $? = 0 configure:2369: gcc -mno-cygwin -V </dev/null >&5 gcc: `-V' must come at the start of the command line configure:2372: $? = 1 configure:2395: checking for C compiler default output file name configure:2398: gcc -mno-cygwin -I/usr/win32/include -I/usr/win32/include/ebml -L/usr/win32/lib conftest.c >&5 gcc: installation problem, cannot exec `cc1': No such file or directory configure:2401: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "vlc" | #define PACKAGE_TARNAME "vlc" | #define PACKAGE_VERSION "0.8.2" | #define PACKAGE_STRING "vlc 0.8.2" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "vlc" | #define VERSION "0.8.2" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2440: error: C compiler cannot create executables See `config.log' for more details.
gcc 3.4.4 and g++ 3.3.3

Code: Select all

checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc -mno-cygwin checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc -mno-cygwin accepts -g... yes checking for gcc -mno-cygwin option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc -mno-cygwin... gcc3 checking whether gcc -mno-cygwin and cc understand -c and -o together... yes checking how to run the C preprocessor... gcc -mno-cygwin -E checking whether we are using the GNU C++ compiler... no checking whether g++ -mno-cygwin accepts -g... no checking dependency style of g++ -mno-cygwin... none checking how to run the C++ preprocessor... /lib/cpp configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details. victor@designer ~/vlc-0.8.2 $
What is my mistake? Help, please! I try it week already :cry:

DanBrwn
Blank Cone
Blank Cone
Posts: 52
Joined: 08 Sep 2005 16:46
Location: Alabama, USA

Postby DanBrwn » 21 Sep 2005 21:48

I am having the exact same problem. With the same sort of errors. I have went through, God Knows How many iterations over the past week on win98, win 2000 pro, win xp pro. Can not get anything to work. I cant even get the configure to run all the way through. If you find out what is wrong please post the solution. I am very frustrated and beginning to believe something is missing in the distribution?

Guest

Postby Guest » 22 Sep 2005 15:07

My mind, problem is in ebml. I set gcc and g++ 3.4.4 and got success with `config_setup':

Code: Select all

./bootstrap && \ CPPFLAGS="-I/usr/win32/include" \ LDFLAGS=-L/usr/win32/lib \ CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \ ./configure \ --disable-sdl --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-livedotcom --with-livedotcom-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-mkv \ --enable-debug
because I not need matroska for now.
Best regards! :P

DanBrwn
Blank Cone
Blank Cone
Posts: 52
Joined: 08 Sep 2005 16:46
Location: Alabama, USA

Postby DanBrwn » 22 Sep 2005 20:30

Thank You, I will try GCC 3.4.4 etc.. with your config file. I am also updating my Win XP to SP2. I did not realize it wasn't updated since I don't use it very often. Ill post If I have success.

zcot
Big Cone-huna
Big Cone-huna
Posts: 606
Joined: 15 Jun 2005 10:58

Postby zcot » 23 Sep 2005 00:08

with that source and equivalent contribs, 3.4.4 will only work if you disable libebml due to the way that 3.4.4 handles processing or something, -I don't really know, but do know it will not work with libebml..

also keep in mind that it is advanced and very knowledgable developers who have made the decision about 3.3.1. There are other libraries and sources that are being included in the vlc build that are even as updated as using an up-to-date daily version from cvs(or svn). So, I'm sure it is a very specific reason in keeping with the 3.3.1/3.3.3 versioning.

but whichever versioning scheme you decide on.. -cross-mixing all those versions between the c and ++ tools is asking for trouble.

specifically in answer to this post:
gcc 3.4.4 and g++ 3.4.4
configure - succesful
..you need to disable libebml for this to work.

My mind, problem is in ebml
it is more the opposite.. the "problem" is 3.4.4 you can say.

gcc 3.4.4 and g++ 3.3.3
no no! ;)


unless you know what you are doing(which I do not) then I would suggest not to try to stab in the dark and get fancy. Go with what is known.

Quovodis
Cone that earned his stripes
Cone that earned his stripes
Posts: 271
Joined: 16 Jun 2004 11:13
Location: Cork, Ireland

Postby Quovodis » 23 Sep 2005 12:36

there are actually 2 problems described in this thread, zcot has answered one of them, libEbml is a C++ library and one of the pitfall of C++ is that a C++ library only works with the same version of the compiler it was compiled with, in this instance gcc 3.3.x in the latest contrib; hence, unless you are using this compiler,you cannot use libEbml. other libraries are C only libraries and are generally usable with a newer version of GCC.

the other problem is described by this error:
configure:2440: error: C compiler cannot create executables
this means that you haven't installed the cygwin mingw-runtime package. until you do so, you will not be able to compile VLC.

VRomanov
New Cone
New Cone
Posts: 6
Joined: 21 Sep 2005 19:47

Postby VRomanov » 24 Sep 2005 18:06

this means that you haven't installed the cygwin mingw-runtime package. until you do so, you will not be able to compile VLC.
No, I have installed mingw-runtime ver 3.8-1

smashedguitar
New Cone
New Cone
Posts: 2
Joined: 27 Sep 2005 00:36

Successful Compilation with following configuration:

Postby smashedguitar » 27 Sep 2005 15:28

1. Operating Environment: Cygwin
2. GCC = 3.4.4
3. G++ = 3.4.4
4. Config File : Taken from post above with EBML disabled

This worked for me. Additional changes required:

In share/vlc_win32_rc.rc, delete lines 15&16:
PRODUCTVERSION VERSION_NUMBER
FILEVERSION VERSION_NUMBER

Likewise in activex/axvlc_rc.rc, delete lines containing:
PRODUCTVERSION VERSION_NUMBER
FILEVERSION VERSION_NUMBER


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 83 guests