VLC Win32 MSYS compile checklist

This forum is about all development around libVLC.
gnosygnus
Blank Cone
Blank Cone
Posts: 30
Joined: 02 May 2010 19:34

VLC Win32 MSYS compile checklist

Postby gnosygnus » 20 May 2010 05:05

This may not be the best place for this topic. My apologies if so, and please move/lock/purge if incorrect.
As I described in this topic viewtopic.php?f=32&t=76308, I wanted to compile VLC on my machine in order to look at how it was reporting time for DVD playback.

However, I'm an inexperienced *nx developer. I had to go through a lot of trial and error just to get the setup correct. Sadly, I think the whole process took me 4+ hours. :oops:

For anyone else in my position, I would recommend reading through the wiki. http://wiki.videolan.org/Win32CompileMSYS This post is more a brain-dead bullet-point list that can be used to go sequentially from start to finish.

I ran the checklist a second time on another machine (I needed it on two machines), so I can say it worked on both. Fortunately, it only took me an hour this time. :D

I followed the wiki as close as possible. The major differences are:
- updated urls (msys 4.4 is now moved to Previous Release);
- explicit paths on the local machine (ex: C:\msys\1.0\home\username)
- other bugs/issues

If this meets anyone else's approval, I'll place it in the wiki. As I've very new to this, I felt a bit nervous about committing it there.
Hope it's useful to someone!

edit1: fixed mingwutils extract location
edit2: fixed configure.ac reference
also, note that the mingw urls are currently wrong (Previous%20Release). I will verify again later, but refer to the wiki

Code: Select all

*** VLC compile checklist *** *** (1.1.0-pre4) *** * TDM/MinGW Setup - NOTE: I started with the regular MinGW, but ran into the "undefined reference to `__Unwind_SjLj_Register" issue - http://sourceforge.net/projects/tdm-gcc/files/TDM-MinGW%20Installer/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe/download - Create - install to C:\MinGW * mingw gcc++ - http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Previous%20Release%20gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma/download gcc-full-4.4.0-mingw32-bin-2.tar - copy to C:\MinGW - mingw libstdc - C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la - old:library_names='libstdc++.dll.a' new:library_names='' * mingw gcc core - http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Previous%20Release%20gcc-4.4.0/gcc-core-4.4.0-mingw32-bin.tar.gz/download - copy to C:\MinGW * msys - http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/msys-1.0.11/MSYS-1.0.11.exe/download - install to C:\msys - y - y - C:\MinGw * msys toolkit - http://sourceforge.net/projects/mingw/files/MSYS%20Supplementary%20Tools/msysDTK-1.0.1/msysDTK-1.0.1.exe/download - keep defaults * autoconf - http://sourceforge.net/projects/mingw/files/MSYS%20autoconf/autoconf-2.63-1/autoconf-2.63-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * automake - http://sourceforge.net/projects/mingw/files/MSYS%20automake/automake-1.11-1/automake-1.11-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * libtool - http://sourceforge.net/projects/mingw/files/MSYS%20libtool/libtool-2.2.7a-1/libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * TDM libtool - open C:\msys\1.0\bin\libtool - line 10244 old: compiler_lib_search_dirs="c:/mingw/bin/../lib/gcc/mingw32/4.4.0 c:/mingw/bin/../lib/gcc c:/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/lib c:/mingw/bin/../lib/gcc/mingw32/4.4.0/../../.. /mingw/lib" new: compiler_lib_search_dirs="c:/mingw/bin/../lib/gcc/mingw32/4.4.1 c:/mingw/bin/../lib/gcc c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/lib c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../.. /mingw/lib" * whoami - create C:\msys\1.0\bin\whoami - enter following line: echo 'insert your name here' * libgcrypt - http://prdownloads.sourceforge.net/mingw/libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma - copy to C:\msys\1.0 * mingwutils - http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz - copy to C:\MinGW * wget - http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2 - copy wget.exe to C:\MinGW\bin * pkg-config pt 1 - http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip - copy to C:\msys\1.0 * pkg-config pt 2 - ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip - copy to C:\msys\1.0 * pkg-config pt 3 - ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip - copy to C:\msys\1.0 * pkg-config pt 4 - Environment Variable PKG_CONFIG_PATH=/win32/lib/pkgconfig * lua - http://www.lua.org/ftp/lua-5.1.4.tar.gz - copy to C:\msys\1.0\home\username - run C:\msys\1.0\msys.bat - make cd ~/lua-5.1.4 make mingw - copy cd src cp *.exe /bin cp *.dll /bin * vlc-src (1.1.0-pre4) - http://download.videolan.org/pub/videolan/testing/vlc-1.1.0-pre4/vlc-1.1.0-pre4.tar.bz2 - copy to C:\msys\1.0\home\username - rename to C:\msys\1.0\home\username\vlc * contrib - http://download.videolan.org/pub/testing/win32/contrib-20100130-win32-bin-gcc-4.4.2-runtime-3.17-only.tar.bz2 - copy to C:\msys\1.0 - path should be C:\msys\1.0\win32 * bootstrap - msys cd vlc cp -v /usr/win32/share/aclocal/* m4/ cp -v /usr/share/aclocal/* m4/ PATH=/usr/win32/bin:$PATH ./bootstrap * configure-msys - http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-msys.sh;hb=HEAD - rename to configure-msys.sh - copy to C:\msys\1.0\home\username\vlc\extras\package\win32 * configure-common - http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-common.sh;hb=HEAD - rename to configure-common.sh - copy to C:\msys\1.0\home\username\vlc\extras\package\win32 * configure - sh extras/package/win32/configure-msys.sh * configure.ac - edit C:\msys\1.0\home\username\vlc\configure.ac - old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2> /dev/null || hostname`", [host which ran configure]) new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) http://git.videolan.org/?p=vlc.git;a=tree;f=extras/package/win32;h=8df9a13d118f90a2a6e9ad8911c01a28ee5b41b4;hb=HEAD * bug?: vlc_windows_interfaces.h - will otherwise fail with: In file included from qt4.cpp:36: main_interface.hpp:33:37: error: vlc_windows_interfaces.h: No such file or directory - create C:\msys\1.0\home\username\vlc\include\vlc_windows_interfaces.h - got source from http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__windows__interfaces_8h-source.html * bug?: const struct _NPString' has no member named 'UTF8Characters - http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2/sdk/xulrunner-1.9.2.en-US.win32.sdk.zip - copy to C:\msys\1.0\win32\gecko-sdk - ref: http://forum.videolan.org/viewtopic.php?f=32&t=75158 * bug?: vlccontrol2.cpp:35:22: error: position.h: No such file or directory - copy source: C:\msys\1.0\home\username\vlc\projects\mozilla\control\position.h target: C:\msys\1.0\home\username\vlc\projects\activex\position.h * make - PATH=/usr/win32/bin:$PATH make * bug: lua - create directory C:\msys\1.0\home\username\vlc\share\lua\extensions - create file C:\msys\1.0\home\username\vlc\share\lua\readme.txt * make package - make package-win32-base * done - run: C:\msys\1.0\home\username\vlc\vlc-1.1.0-pre4\vlc.exe
Last edited by gnosygnus on 05 Jun 2010 03:26, edited 2 times in total.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 20 May 2010 16:50

Update the wiki as you feel like.

I disagree on the whoami and mozilla part.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Grim
New Cone
New Cone
Posts: 4
Joined: 03 Jun 2010 19:15

Re: VLC Win32 MSYS compile checklist

Postby Grim » 03 Jun 2010 19:41

I followed your list as you have it laid it and even with all of the correct downloads, i was unsuccessful.

Shouldn't mingwutils be extracted to mingw?

Also, shouldn't "C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la" be 4.4.1 not 4.4.0?

gnosygnus
Blank Cone
Blank Cone
Posts: 30
Joined: 02 May 2010 19:34

Re: VLC Win32 MSYS compile checklist

Postby gnosygnus » 04 Jun 2010 00:54

Yeah, I have been meaning to clean up the list and go through everything one more time, but I've been bogged down with other issues (as well as the DVD playback time mentioned in another thread)
Shouldn't mingwutils be extracted to mingw?
Yes. :oops: . I edited it above.
Also, shouldn't "C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la" be 4.4.1 not 4.4.0?
The 4.4.1 version should come down with the change already made. I just checked my \4.4.1\libstdc++.la and it has a timestamp of 10/4/2009 8:15 PM.
I only needed to change the 4.4.0 one (the one that came with the default installation of MinGW)
Also, I installed the default MinGW 4.4.0, but did not uninstall it when I installed the 4.4.1 in TDM/MinGW Setup. You can try installing both simultaneously: maybe it'll fix your issue?....

Grim
New Cone
New Cone
Posts: 4
Joined: 03 Jun 2010 19:15

Re: VLC Win32 MSYS compile checklist

Postby Grim » 04 Jun 2010 19:09

I followed your instructions and was unsuccessful again. I keep getting the same result whether I follow your guide or the wiki:

Code: Select all

x13e7): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x17be): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x17e1): undefined reference to `_Unwind_SjLj_Unregister' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x18a5): undefined reference to `__gxx_personality_sj0' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x18c9): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x1919): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicTaskScheduler.cpp:(.text+ x1924): undefined reference to `_Unwind_SjLj_Unregister' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1e77): undefined reference to `__gxx_personality_sj0' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1e9b): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1ef3): undefined reference to `_Unwind_SjLj_Unregister' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1f1b): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1f29): undefined reference to `__gxx_personality_sj0' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1f4d): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1fa5): undefined reference to `_Unwind_SjLj_Unregister' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:DelayQueue.cpp:(.text+0x1fcd): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x26 5): undefined reference to `__gxx_personality_sj0' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x26 9): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x26 0): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x26 b): undefined reference to `_Unwind_SjLj_Unregister' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x28 9): undefined reference to `__gxx_personality_sj0' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x28 d): undefined reference to `_Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x29 4): undefined reference to `_Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libBasicUsageEnvironment.a:BasicHashTable.cpp:(.text+0x29 f): undefined reference to `_Unwind_SjLj_Unregister' collect2: ld returned 1 exit status make[5]: *** [liblive555_plugin.la] Error 1 make[5]: Leaving directory `/home/dgrim/vlc/modules/demux' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/dgrim/vlc/modules/demux' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/dgrim/vlc/modules/demux' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/dgrim/vlc/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/dgrim/vlc' make: *** [all] Error 2
What am I doing wrong? I followed your instructions minus a couple of assumptions that i listed in comments.

Comments about your checklist:
  • *GCC links in your post are broken, the ones on the wiki are now correct again.
    *I'm assuming msys should be installed to C:\msys\1.0 (Every other reference to msys refers to msys\1.0\)
    *What do you mean in 'contrib' by "path should be C:\msys\1.0\win32"
    *In your "configure.ac" section, I'm assuming you meant "C:\msys\1.0\home\username\vlc\configure.ac"
    *I got the same contribs that you mentioned but my source code is from git://git.videolan.org/vlc/vlc-1.1 (renamed to vlc ofcourse)
Help!

gnosygnus
Blank Cone
Blank Cone
Posts: 30
Joined: 02 May 2010 19:34

Re: VLC Win32 MSYS compile checklist

Postby gnosygnus » 05 Jun 2010 03:24

Sorry to hear about your issues. Just a disclaimer: the wiki link should be your main source. The checklist was meant for extra information: if it's wrong/confusing I would go back to the source. It is better written/detailed than mine.

I think you are getting `__Unwind_SjLj_Register'" because you don't have TDM. I got the same Unwind error on both machines (though I don't remember the trace). Have you tried installing TDM?
http://sourceforge.net/projects/tdm-gcc ... e/download
GCC links in your post are broken, the ones on the wiki are now correct again.
Yeah, I don't know what happened. When I wrote the post, they had moved the links from "Current Release" to "Previous Release". Now they've moved again.
I'll go back and revalidate the links later.
*I'm assuming msys should be installed to C:\msys\1.0 (Every other reference to msys refers to msys\1.0\)
Yes, I installed msys to C:\msys. IIRC,it produces a C:msys\1.0 folder. For example, I ended up with a C:\msys\1.0\msys.bat

Also, with the downloads, to be explicit with one example:
- libgcrypt produced a \bin\msys-crypt-0.dll.
- I copied the \bin folder to C:\msys\1.0
- final result: C:\msys\1.0\bin\msys-crypt-0.dll
*What do you mean in 'contrib' by "path should be C:\msys\1.0\win32"
In the beginning, I ran into issues with the path as /usr/win32 (C:\msys\1.0\usr\win32.) I can't remember what they were, so it may have been non-related.
In the end, I got it working by ignoring the usr folder, and using the win32 folder.
For example, the contrib will produce a file: \usr\win32\lib\libdvdnav.a. On my machine, the full path is C:\msys\1.0\win32\lib\libdvdnav.a (no \usr\)
Also, make sure the Environment variable is the same: PKG_CONFIG_PATH=/win32/lib/pkgconfig
*In your "configure.ac" section, I'm assuming you meant "C:\msys\1.0\home\username\vlc\configure.ac"
Ughh. Yes. Another mistake. I'll correct. (again, the wiki is clearer about this than I am)
I got the same contribs that you mentioned but my source code is from git://git.videolan.org/vlc/vlc-1.1
I've been meaning to get the source through git, but haven't. For the checklist, I've used pre4. I recently brought down the rc tarball, and the "bugs?" items are still there (namely, the vlc_windows_interfaces.h, the position.h and the lua file)

Hope this helps. My apologies for the errors, and thanks for pointing them out.

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 06 Jun 2010 14:59

GCC links in your post are broken, the ones on the wiki are now correct again.
Yeah, I don't know what happened. When I wrote the post, they had moved the links from "Current Release" to "Previous Release". Now they've moved again.
I'll go back and revalidate the links later.
Hi, all,

I think I have an explanation : before discovering this thread, I had contacted JB about the broken links and he advised me to update them, so that's what I did. See the wiki page history for details of which links changed.
Sorry for the moving target...

That being said, I'm also struggling for a few days (in my spare time) trying to build VLC following this Howto.

The closest I got to was a successful compilation (had to disable the x264 and zvbi modules though) but linking failed and I could not find why. I started over from the 1.0.6 tarball, but then it stopped complaining about missing required Mozilla headers, so I'm still stuck.

I read you are trying to build the 1.1.0 pre, so I think I'll give it a try. Maybe we can join our efforts to improve the page further...

Already a question : the wiki page talks about contributions packages which are available in multiple versions. I tried with the latest one to date : http://people.videolan.org/~jb/Contribs ... ly.tar.bz2
but it reads "gcc 4.4.4" while the wiki page explains how to install gcc 4.4.0. Does it make a difference ? If so, what is the right combination (as there's no contribs that says gcc-4.4.0) ?

Best regards,

Vicne

Tageteg
New Cone
New Cone
Posts: 2
Joined: 06 Jun 2010 18:15

Re: VLC Win32 MSYS compile checklist

Postby Tageteg » 06 Jun 2010 18:17

I followed your checklist but somehow when i try to make VLC then i get the error: /bin/m4 unrecognized option '--gnu'

Code: Select all

$ make CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/Vincent/vlc/autotools/missin g --run aclocal-1.11 -I m4 m4/autoopts.m4:22: warning: underquoted definition of AG_PATH_AUTOOPTS m4/autoopts.m4:22: run info '(automake)Extending aclocal' m4/autoopts.m4:22: or see http://sources.redhat.com/automake/automake.html#Ext ending-aclocal /bin/m4: unrecognized option `--gnu' Try `/bin/m4 --help' for more information. autom4te: /bin/m4 failed with exit status: 1 aclocal-1.11: autom4te failed with exit status: 1 make: *** [aclocal.m4] Error 1

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 06 Jun 2010 22:10

I followed your instructions and was unsuccessful again. I keep getting the same result whether I follow your guide or the wiki
Hi, Grim,

As I said, I restarted the build procedure today from scratch with a 1.1.0 pre4 tarball and I ended up at the exact same blocking point as you (just like when I tried with the latest GIT version the other day).

As with latest sources, I had to disable x264 and zvbi modules in Modules.am to get there because I got the following errors otherwise :

Code: Select all

In file included from C:/msys/1.0/win32/include/pthread.h:214, from x264.c:40: C:/msys/1.0/win32/include/config.h:17:30: error: 1 : No such file or directory In file included from C:/msys/1.0/win32/include/pthread.h:214, from C:/msys/1.0/win32/include/libzvbi.h:865, from zvbi.c:47: C:/msys/1.0/win32/include/config.h:17:30: error: 1 : No such file or directory
Wasn't it the case for you ?

Now, for our linking problem, I really think it has to do with contributions package because most of the errors are related to SjLj :

Code: Select all

C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x371): undefined reference to `___gxx_personality_sj0' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x395): undefined reference to `__Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x400): undefined reference to `__Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x41d): undefined reference to `__Unwind_SjLj_Unregister'
and the package I chose has no SjLj in its name contrary to half of them in http://people.videolan.org/~jb/Contribs/

Most probably I should start again with another contrib package including SjLj, but according to the main Win32Compile page, unzipping the contribs package the way I did is : "Difficult to get rid of if you want to free up space or to upgrade to the next version of the pre-built libraries (Installing over the top of older versions is highly discouraged!)" :-(. So it looks like I'll have to restart everything over again.

Can someone give a clue as to which contribs package is best suited for ver 1.1.0 pre4 compiled with gcc 4.4.0 ?

Best regards,

Vicne

gnosygnu
Blank Cone
Blank Cone
Posts: 45
Joined: 06 Jun 2010 16:06

Re: VLC Win32 MSYS compile checklist

Postby gnosygnu » 07 Jun 2010 03:36

Sorry to hear about the issues. I'll try running through the checklist on another machine. I'll post the results of my progress later (hopefully tomorrow evening)

Other than that, I'm afraid I'm not of much help in diagnosing. I'm very new to the build process myself, and it looks like I may have gotten it to work out of sheer luck...

Grim
New Cone
New Cone
Posts: 4
Joined: 03 Jun 2010 19:15

Re: VLC Win32 MSYS compile checklist

Postby Grim » 07 Jun 2010 15:20

I think you are getting `__Unwind_SjLj_Register'" because you don't have TDM. I got the same Unwind error on both machines (though I don't remember the trace). Have you tried installing TDM?
http://sourceforge.net/projects/tdm-gcc ... e/download
Yeah, whether I use TDM or the original way (most recent attempts have been TDM), I get the same error. I appreciate your help and concern!
Now, for our linking problem, I really think it has to do with contributions package because most of the errors are related to SjLj :

Code: Select all

C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x371): undefined reference to `___gxx_personality_sj0' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x395): undefined reference to `__Unwind_SjLj_Register' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x400): undefined reference to `__Unwind_SjLj_Resume' C:/msys/1.0/win32/lib/libliveMedia.a:Media.cpp:(.text+0x41d): undefined reference to `__Unwind_SjLj_Unregister'
and the package I chose has no SjLj in its name contrary to half of them in http://people.videolan.org/~jb/Contribs/

Most probably I should start again with another contrib package including SjLj, but according to the main Win32Compile page, unzipping the contribs package the way I did is : "Difficult to get rid of if you want to free up space or to upgrade to the next version of the pre-built libraries (Installing over the top of older versions is highly discouraged!)" :-(. So it looks like I'll have to restart everything over again.
I think you are right. It's a very time-intense process to keep reinstalling and try different contribs to get it to compile and I feel like I've wasted a lot of time.

Tageteg
New Cone
New Cone
Posts: 2
Joined: 06 Jun 2010 18:15

Re: VLC Win32 MSYS compile checklist

Postby Tageteg » 07 Jun 2010 18:22

i got further then last time but reached an error, an Undefined Reference error

Code: Select all

Creating library file: .libs/libfluidsynth_plugin.dll.a .libs/libfluidsynth_plugin_la-fluidsynth.o: In function `Close': C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:120: undefined reference to `_imp__fluid_synth_sfunload' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:121: undefined reference to `_imp__delete_fluid_synth' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:122: undefined reference to `_imp__delete_fluid_settings' .libs/libfluidsynth_plugin_la-fluidsynth.o: In function `Open': C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:96: undefined reference to `_imp__new_fluid_settings' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:97: undefined reference to `_imp__new_fluid_synth' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:99: undefined reference to `_imp__fluid_synth_sfload' .libs/libfluidsynth_plugin_la-fluidsynth.o: In function `DecodeBlock': C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:186: undefined reference to `_imp__fluid_synth_write_float' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:171: undefined reference to `_imp__fluid_synth_pitch_bend' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:165: undefined reference to `_imp__fluid_synth_cc' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:159: undefined reference to `_imp__fluid_synth_noteoff' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:168: undefined reference to `_imp__fluid_synth_program_change' C:/msys/1.0/home/Vincent/vlc/modules/codec/fluidsynth.c:162: undefined reference to `_imp__fluid_synth_noteon' collect2: ld returned 1 exit status make[5]: *** [libfluidsynth_plugin.la] Error 1 make[5]: Leaving directory `/home/Vincent/vlc/modules/codec' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/Vincent/vlc/modules/codec' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/Vincent/vlc/modules/codec' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/Vincent/vlc/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/Vincent/vlc' make: *** [all] Error 2

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 07 Jun 2010 20:52

deactivate fluidsynth!
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

gnosygnu
Blank Cone
Blank Cone
Posts: 45
Joined: 06 Jun 2010 16:06

Re: VLC Win32 MSYS compile checklist

Postby gnosygnu » 08 Jun 2010 05:37

Okay. I walked through it again on another machine.
It actually took me a little longer than I expected, because I ran into some issues and I couldn't remember what I did the last two times. I also got tired near the end, and correspondingly sloppy.
At any rate, I post a modified version of the checklist below. It is a lot like the earlier version, but I didn't want to replace the earlier one (in case someone wanted it for comparative purposes)

Major differences are as follows
* updated urls
* explicitly stated order of MinGW / TDM
Basically, it goes like this:
- Install MinGW
- Do everything else up to make
- Do make. Fail with Unwind_SjLj_Register
- Install TDM
- Do configure again
- Do make again
* do another (unnecessary) configure
This is because it's late, and I'm tired. I ran into issues with the spatializer during make2. So I had to delete the temp files in spatializer and run configure/make again

Aside from that the checklist still seems valid. If people have problems, I'll do another clean install on the other machine tomorrow. As admitted earlier, I don't have much understanding of the build process so all I can do is retest the checklist and add further details.

edit1:
- corrected lua file
- eliminated make 4 (grouped gecko with other bugs?)

Code: Select all

*** VLC compile checklist *** *** (1.1.0-rc) *** * MinGW - http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download - Select "Download and Install" - Select "Candidate" - Select "g++" "MinGW Make" - Install to "C:\MinGW" * mingw gcc to 4.4.0 - http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-full-4.4.0-mingw32-bin-2.tar.lzma/download - copy to C:\MinGW - mingw libstdc - C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la - old: library_names='libstdc++.dll.a' new: library_names='' * mingw gcc core - http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.4.0-mingw32-dll.tar.gz/download - copy to C:\MinGW * msys - http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-1.0.11/MSYS-1.0.11.exe/download - install to C:\msys\1.0 - Do you wish to continue with the post install? y - Do you have MinGW installed? y - Where is your MinGW installation? [note: contrary to instructions, use backslash not slash] C:\MinGw * msys toolkit - http://sourceforge.net/projects/mingw/files/MSYS/Supplementary%20Tools/msysDTK-1.0.1/msysDTK-1.0.1.exe/download - keep defaults * autoconf - http://sourceforge.net/projects/mingw/files/MSYS/autoconf/autoconf-2.63-1/autoconf-2.63-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * automake - http://sourceforge.net/projects/mingw/files/MSYS/automake/automake-1.11-1/automake-1.11-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * libtool - http://sourceforge.net/projects/mingw/files/MSYS/libtool/libtool-2.2.7a-1/libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma/download - copy to C:\msys\1.0 * whoami - create C:\msys\1.0\bin\whoami - enter following line: echo 'insert your name here' * libgcrypt - http://prdownloads.sourceforge.net/mingw/libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma - copy to C:\msys\1.0 * mingwutils - http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz - copy to C:\MinGW * wget - http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2 - copy wget.exe to C:\MinGW\bin * pkg-config pt 1 - http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip - copy to C:\msys\1.0 * pkg-config pt 2 - ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip - copy to C:\msys\1.0 * pkg-config pt 3 - ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip - produces \src\ dir - copy to C:\msys\1.0 * pkg-config pt 4 - Environment Variable PKG_CONFIG_PATH=/win32/lib/pkgconfig * lua - http://www.lua.org/ftp/lua-5.1.4.tar.gz - copy to C:\msys\1.0\home\username - run C:\msys\1.0\msys.bat - make cd ~/lua-5.1.4 make mingw - copy cd src cp *.exe /bin cp *.dll /bin * vlc-src (1.1.0-rc1) - http://download.videolan.org/pub/videolan/testing/vlc-1.1.0-rc/vlc-1.1.0-rc.tar.bz2 - copy to C:\msys\1.0\home\username - rename to C:\msys\1.0\home\username\vlc * contrib - http://download.videolan.org/pub/testing/win32/contrib-20100130-win32-bin-gcc-4.4.2-runtime-3.17-only.tar.bz2 - copy to C:\msys\1.0 - path should be C:\msys\1.0\win32 EX: C:\msys\1.0\win32\lib\libdvdnav.a * bootstrap - msys cd vlc cp -v /usr/win32/share/aclocal/* m4/ cp -v /usr/share/aclocal/* m4/ PATH=/usr/win32/bin:$PATH ./bootstrap * configure-msys - http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-msys.sh;hb=HEAD - rename to configure-msys.sh - copy to C:\msys\1.0\home\username\vlc\extras\package\win32 * configure-common - http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-common.sh;hb=HEAD - rename to configure-common.sh - copy to C:\msys\1.0\home\username\vlc\extras\package\win32 * configure, part 1 - sh extras/package/win32/configure-msys.sh * configure.ac - edit C:\msys\1.0\home\username\vlc\configure.ac - old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2> /dev/null || hostname`", [host which ran configure]) new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) * bug?: vlc_windows_interfaces.h - will otherwise fail with: In file included from qt4.cpp:36: main_interface.hpp:33:37: error: vlc_windows_interfaces.h: No such file or directory - create C:\msys\1.0\home\username\vlc\include\vlc_windows_interfaces.h - got source from http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__windows__interfaces_8h-source.html * bug?: vlccontrol2.cpp:35:22: error: position.h: No such file or directory - copy source: C:\msys\1.0\home\username\vlc\projects\mozilla\control\position.h target: C:\msys\1.0\home\username\vlc\projects\activex\position.h * bug?: const struct _NPString' has no member named 'UTF8Characters - http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2/sdk/xulrunner-1.9.2.en-US.win32.sdk.zip - copy to C:\msys\1.0\win32\gecko-sdk - ref: http://forum.videolan.org/viewtopic.php?f=32&t=75158 * make, part 1 - PATH=/usr/win32/bin:$PATH make ERROR: C:/msys/1.0/win32/lib/libgroupsock.a:Groupsock.cpp:(.text+0x31cd): undefined reference to `__Unwind_SjLj_Register' * TDM/MinGW Setup - http://sourceforge.net/projects/tdm-gcc/files/TDM-MinGW%20Installer/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe/download - Select "Create" - install to C:\MinGW (ignore warning) - kept "Sourceforge default" - expand gcc node should be set to default: "TDM Unstable: 4.4.1-tdm-2" * TDM libtool - open C:\msys\1.0\bin\libtool - change line 9926 old: compiler_lib_search_dirs="/usr/lib /usr/lib /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib" new: compiler_lib_search_dirs="c:/mingw/bin/../lib/gcc/mingw32/4.4.1 c:/mingw/bin/../lib/gcc c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/lib c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../.. /mingw/lib" * configure, part2 - sh extras/package/win32/configure-msys.sh * make, part 2 - PATH=/usr/win32/bin:$PATH make ERROR: Creating library file: .libs/libspatializer_plugin.dll.a.libs/libspatializer_plugin_la-revmodel.o:revmodel.cpp:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'collect2: ld returned 1 exit status * delete spatializer temp C:\msys\1.0\home\username\vlc\modules\audio_filter\spatializer\.deps\*.* C:\msys\1.0\home\username\vlc\modules\audio_filter\spatializer\.libs\*.* C:\msys\1.0\home\username\vlc\modules\audio_filter\spatializer\libspatializer_plugin*.* * configure, part 3 - sh extras/package/win32/configure-msys.sh * make, part 3 - PATH=/usr/win32/bin:$PATH make * bug: lua - create directory C:\msys\1.0\home\username\vlc\share\lua\extensions - create file C:\msys\1.0\home\username\vlc\share\lua\extrensions\readme.txt * make package - make package-win32-base * done - run: C:\msys\1.0\home\username\vlc\vlc-1.1.0-rc\vlc.exe
Last edited by gnosygnu on 09 Jun 2010 02:35, edited 1 time in total.

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 08 Jun 2010 09:41

Okay. I walked through it again on another machine.
Thanks for the effort. It's much appreciated.
* explicitly stated order of MinGW / TDM
...
- Do make. Fail with Unwind_SjLj_Register
- Install TDM
...
Wow, I see ! :-)
Yesterday night, I started all over again, choosing the TDM way, but I was unsuccessful too.
Now if I understand correctly, it's not either GCC4.4.0 or TDM, it's both, in 2 passes.
Interesting. I had taken the contribs from http://people.videolan.org/~jb/Contribs/ but I don't know if it makes a difference... I guess the above link is more recent but less tested ?
* bug?: vlc_windows_interfaces.h
- will otherwise fail with: In file included from qt4.cpp:36: main_interface.hpp:33:37: error: vlc_windows_interfaces.h: No such file or directory
- create C:\msys\1.0\home\username\vlc\include\
- got source from
http://www.videolan.org/developers/vlc/ ... ource.html

* bug?: vlccontrol2.cpp:35:22: error: position.h: No such file or directory
- copy
source: C:\msys\1.0\home\username\vlc\projects\mozilla\control\position.h
target: C:\msys\1.0\home\username\vlc\projects\activex\position.h
Strangely enough, I never came across these problems in my different attempts. Maybe it's due to the different contribs package... I'll tell you how it goes.
In any case, the first link leads to a line-numbered version (unless I missed something). I think getting the raw version from GIT would be easier... Here's the direct link.
* make, part 1
- PATH=/usr/win32/bin:$PATH make
...
* make, part 2
- PATH=/usr/win32/bin:$PATH make
...
* make, part 3
- PATH=/usr/win32/bin:$PATH make
...
* make, part 4
- PATH=/usr/win32/bin:$PATH make
Wow, not 2 but 4 passes :-)
I'm pretty sure there should be an easier way... but I don't care as long as it works ;-).

I would like to have JB's opinion though, because I don't feel like updating the wiki page with a "trial and error" procedure if there is a better way...

Also, I had the secret hope that we could come up with a "VLC build environment package", something like huge zip file to containing everything needed to build, so that future community members could download the pack, download VLC sources, go through a configure/make cycle and get VLC running. I think it would be feasible (except for the environment variable) but not if a multiple pass compile is required with changes to the build environment in between...

Anyway, first thing is to try and reproduce your results. Thanks again for your work.

Best regards,


Vicne

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 08 Jun 2010 14:26


Interesting. I had taken the contribs from http://people.videolan.org/~jb/Contribs/ but I don't know if it makes a difference... I guess the above link is more recent but less tested ?
Yes
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 08 Jun 2010 14:31


Strangely enough, I never came across these problems in my different attempts. Maybe it's due to the different contribs package... I'll tell you how it goes.
In any case, the first link leads to a line-numbered version (unless I missed something). I think getting the raw version from GIT would be easier... Here's the direct link.
No, this comes from not up-to-date Git
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 08 Jun 2010 16:21

I think getting the raw version from GIT would be easier... Here's the direct link.
No, this comes from not up-to-date Git
Err, as the "checklist" aims at building Vlc 1.1 RC, I was looking for the 1.1 version.
I followed http://git.videolan.org/?p=vlc/vlc-1.1.git;a=tree > include > vlc_windows_interfaces.h > raw so AFAICT it's from Vlc 1.1, isn't it ?

Best regards,

Vicne

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 08 Jun 2010 17:12

Yes, but it is included in latest tarballs.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 08 Jun 2010 19:42

Yes, but it is included in latest tarballs.
Edit : Well in fact, it doesn't seem to be present in the 1.1.0-rc tarball... so indeed the 3rd "make" pass of the checklist fails as mentioned if you don't d/l that file separately...

Should this file be included ?

Vicne

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 09 Jun 2010 02:04

Wow. Done.

Not an easy walk, so thanks again to JB for the original Wiki page and to gnosygnus for the checklist in this thread.

I can now confirm most of the checklist, among which the 4 "build bugs" mentioned by gnosygnus (at least with the 1.1.0-rc tarball):
- vlc_windows_interfaces.h is missing in include dir
- position.h missing in projects/activex dir
- gecko update is needed
- install needs at least one file in the lua/extensions dir, but the tarball doesn't contain any

Proposed improvements :
- mingw gcc core was not needed because gcc-full-4.4.0-mingw32-bin-2.tar.lzma already contained the 3 dlls
- Msys : I always used forward slash for the path c:/MinGW ... and clearly it worked :-)
- gecko update : I would mention that he zip contains the folder xulrunner-sdk, to be renamed gecko-sdk (replacing the one present in the sources). In other words, the zip shouldn't be uncompressed as is under gecko-sdk or you'll end up with the double directory
- lua extension "fix" : The path of the placeholder file to be created is wrong in the checklist :
bad : C:\msys\1.0\home\username\vlc\share\lua\readme.txt
good : C:\msys\1.0\home\username\vlc\share\lua\extensions\readme.txt
- I would advise gathering the 4 "build bug fixes" before starting the compile steps. This should save at least one run.

Now these are minor things, but even when fixed, I wouldn't feel comfortable updating the wiki with such a "weird" procedure. Don't know what you think...

Basically, we have 3 runs of "make" here (the 4th shouldn't be needed if Gecko update is performed before compiling, right ?)
The second run is needed because of a compiler upgrade between part 1 and 2. I was wondering : Did you try performing the 2 compiler upgrades together before starting the compile process ? (I confirm my previous tries showed that using only TDM doesn't work either, so both upgrades have to be installed)
The third run is needed because of the spacializer filter. I admit I don't understand how the files in question can be first compiled, then be rejected, and by deleting them re-compiling them, all of a sudden they become OK... Were these wrong versions leftovers from the first GCC version ? If so installing the 2 GCC updates in a row would also solve this one too, right ?

If you think it could work, I can try in the next few days to start over again with the 2 GCC updates before calling the first make...

Just my 2 cents.

Thanks again for the good work.

Vicne

gnosygnu
Blank Cone
Blank Cone
Posts: 45
Joined: 06 Jun 2010 16:06

Re: VLC Win32 MSYS compile checklist

Postby gnosygnu » 09 Jun 2010 02:44

Wow. Done.
Congrats! I think those were exactly the same words I said when I first completed!

Just a note: checklist 2 was improperly named. It should have been named something like "running-log of steps I'm doing because it's late". I was getting tired and decided to record my steps, rather than think it through. By no means do I mean this to be the official build procedure: I just wanted to show what I did to get it to work....
Msys : I always used forward slash for the path c:/MinGW ... and clearly it worked
Odd. I tried it twice, and it failed both times. (can't remember the message)
- lua extension "fix" : The path of the placeholder file to be created is wrong in the checklist :
Oops. Corrected.
I would advise gathering the 4 "build bug fixes" before starting the compile steps. This should save at least one run.
Agreed. I changed it just now (another symptom, of "running-log")
I wouldn't feel comfortable updating the wiki with such a "weird" procedure. Don't know what you think...
Agreed. I will try do one final run later this week and see if I can confirm elimination of the stranger steps...
Did you try performing the 2 compiler upgrades together before starting the compile process?
On machine 1, no. On machine 2, yes. On machine 3, yes, but when it failed last night, I started over, and did exactly what I did on machine 1. In retrospect, I think I failed for some other reason (missed an earlier step), but I wasn't in much of a mood to troubleshoot
Were these wrong versions leftovers from the first GCC version ? If so installing the 2 GCC updates in a row would also solve this one too, right ?
Yes. Again, this was more the "running-log" aspect. In retrospect, I should have edited them out, but least the errors showed you were on the same path.
Also, when I upgraded from pre-4 to rc-1, I had no issues with spatializer when I did the make....

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 09 Jun 2010 17:42

I can now confirm most of the checklist, among which the 4 "build bugs" mentioned by gnosygnus (at least with the 1.1.0-rc tarball):
- vlc_windows_interfaces.h is missing in include dir
- position.h missing in projects/activex dir
- gecko update is needed
- install needs at least one file in the lua/extensions dir, but the tarball doesn't contain any
All of this is fixed in 1.1 later that 1.1.0-rc
Proposed improvements :
- mingw gcc core was not needed because gcc-full-4.4.0-mingw32-bin-2.tar.lzma already contained the 3 dlls
- Msys : I always used forward slash for the path c:/MinGW ... and clearly it worked :-)
- gecko update : I would mention that he zip contains the folder xulrunner-sdk, to be renamed gecko-sdk (replacing the one present in the sources). In other words, the zip shouldn't be uncompressed as is under gecko-sdk or you'll end up with the double directory
- lua extension "fix" : The path of the placeholder file to be created is wrong in the checklist :
bad : C:\msys\1.0\home\username\vlc\share\lua\readme.txt
good : C:\msys\1.0\home\username\vlc\share\lua\extensions\readme.txt
- I would advise gathering the 4 "build bug fixes" before starting the compile steps. This should save at least one run.
Ok about mingw core, I am unsure about the rest.
Gecko needs a new contribs.
Lua is fixed
4build bug, I have no idea what you are talking about.
Basically, we have 3 runs of "make" here (the 4th shouldn't be needed if Gecko update is performed before compiling, right ?)
The second run is needed because of a compiler upgrade between part 1 and 2. I was wondering : Did you try performing the 2 compiler upgrades together before starting the compile process ? (I confirm my previous tries showed that using only TDM doesn't work either, so both upgrades have to be installed)
The third run is needed because of the spacializer filter. I admit I don't understand how the files in question can be first compiled, then be rejected, and by deleting them re-compiling them, all of a sudden they become OK... Were these wrong versions leftovers from the first GCC version ? If so installing the 2 GCC updates in a row would also solve this one too, right ?
This is complete nonsense, sorry :D
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Vicne
Blank Cone
Blank Cone
Posts: 40
Joined: 28 Feb 2010 22:11

Re: VLC Win32 MSYS compile checklist

Postby Vicne » 09 Jun 2010 18:19

4 build bug, I have no idea what you are talking about.
I was referring to the 4 points mentioned at the beginning of the post, (missing windows interface.h etc)
Basically, we have 3 runs of "make" here (the 4th shouldn't be needed if Gecko update is performed before compiling, right ?)
...
This is complete nonsense, sorry :D
Agreed :D :D

In my experience, as well as others', neither the "Update Mingw GCC to 4.4.0" nor the alternative "TDM MinGW 4.4.1" lead to successful build.
(The first one causes "__Unwind_SjLj_Register'" errors as you mention on the wiki, while the second fails even earlier (don't remember exactly where, sorry).)

gnosygnu installed both GCC upgrades at different steps, and I confirm that is one - weird - way to go.

I am now seeking to simplify these steps so that only one "make" is sufficient.

Best regards,

Vicne

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC Win32 MSYS compile checklist

Postby Jean-Baptiste Kempf » 09 Jun 2010 23:00

gcc on mingw is a mess... Because they use sometimes -dw2 sometimes -sjlj. I never know which one to take.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.


Return to “Development around libVLC”

Who is online

Users browsing this forum: Google [Bot] and 22 guests