Need advice on Msys build of VLC 1.2

This forum is about all development around libVLC.
SteveO
Blank Cone
Blank Cone
Posts: 32
Joined: 01 Dec 2011 22:46

Need advice on Msys build of VLC 1.2

Postby SteveO » 01 Dec 2011 23:15

Hi All,

I am trying to build VLC ver 1.2 under msys. I believe I need it or at least 1.12 for my purposes. I was able to build 1.1.0 using the "recipe" on the site (http://wiki.videolan.org/Win32CompileMSYSNew). Have run in to various problems using this as a guide for 1.2. Some required adjustments have been fairly obvious, but continue to run into one stumbling block after another in the make.

My question is this - does there happen to be an updated guide for compilation? If not, does anyone have any suggestions on the safest route? I do have Ubuntu installed, so can work from there as well...

More detail on process so far:

1) Bootstrap seemed successful but got warning message about gettext may be missing or out of date. Used following command:
PATH=/usr/win32/bin:$PATH ./bootstrap

2) Configure was successful, but had to disable Live555 and Schrodinger - I think that is ok for the moment. Used following command:
sh extras/package/win32/configure-msys.sh

3) Make went well for some time, then blew up with undefined reference problems revolving around libRenderer before exiting with a "libprojectm_plugin.la] Error1"



Thx,

Steve.

:shock: :shock:
Last edited by SteveO on 02 Dec 2011 00:36, edited 1 time in total.

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

Re: Need advice on Msys build of VLC 1.2

Postby gnosygnu » 02 Dec 2011 00:17

I actually went through all the steps three months ago (September of 2011). I don't recall making any adjustments, though I may have done so without thinking twice. Note that I was building on a Windows XP machine.

If you're encountering problems, can you post more detail?

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

Re: Need advice on Msys build of VLC 1.2

Postby gnosygnu » 02 Dec 2011 02:39

Based on what you posted, you may have the same issue as here:
viewtopic.php?f=14&t=93181
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x565): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x57b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x62f): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x646): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x665): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x67b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x699): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x6f9): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x815): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x82b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x849): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8a9): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8c5): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8db): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8f9): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x959): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0xf8): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x10e): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x413): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x4cd): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x4dc): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x518): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x52e): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x833): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x8ed): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x8fc): undefined reference to `_Unwind_SjLj_Resume
'
collect2: ld returned 1 exit status
make[5]: *** [libprojectm_plugin.la] Error 1
The solution for which is: "use TDM-Gcc"

If not, please post more from the output. It may offer more clues.

Rémi Denis-Courmont
Developer
Developer
Posts: 15184
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: Need advice on Msys build of VLC 1.2

Postby Rémi Denis-Courmont » 02 Dec 2011 07:47

The recommendation is to cross-compile usign mingw32.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

MichaelMc
Blank Cone
Blank Cone
Posts: 63
Joined: 10 Jun 2009 17:55

Re: Need advice on Msys build of VLC 1.2

Postby MichaelMc » 02 Dec 2011 15:20

Based on what you posted, you may have the same issue as here:
viewtopic.php?f=14&t=93181
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x565): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x57b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x62f): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x646): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x665): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x67b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x699): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x6f9): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x815): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x82b): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x849): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8a9): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8c5): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8db): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x8f9): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(FBO.obj):FBO.cpp:(.text+0x959): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0xf8): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x10e): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x413): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x4cd): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x4dc): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x518): undefined reference to `__gxx_personality_sj0'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x52e): undefined reference to `_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x833): undefined reference to `_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x8ed): undefined reference to `_Unwind_SjLj_Resume'
C:/msys/1.0/win32/lib/libRenderer.a(PerPixelMesh.obj):PerPixelMesh.cpp:(.text+0x8fc): undefined reference to `_Unwind_SjLj_Resume
'
collect2: ld returned 1 exit status
make[5]: *** [libprojectm_plugin.la] Error 1
The solution for which is: "use TDM-Gcc"

If not, please post more from the output. It may offer more clues.

Just so that people are aware of this as this seems to crop up from time to time; the above errors indicate the library, libRenderer.a, has been compiled with a compiler with SJLJ exception handling enabled, which is the norm, as opposed to DW2 exception handling.
When using the prebuilt contribs (binaries) you must compile VLC using GCC with SJLJ exception handling. To check whether your gcc install is using SJLJ or DW2: 'gcc -v' then look for '--enable-sjlj-exceptions'.

The 'TDM-GCC Bundled Installer' installs GNU GCC with SJLJ exception handling by default.

SteveO
Blank Cone
Blank Cone
Posts: 32
Joined: 01 Dec 2011 22:46

Re: Need advice on Msys build of VLC 1.2

Postby SteveO » 02 Dec 2011 21:41

Hi All,

Thank you very much for the responses. I have made some progress. One issue has been that I originally built VLC version 1.1.0 using the previously mentioned http://wiki.videolan.org/Win32CompileMSYSNew page. Based on these instructions I ended up with two main directories of source code:

1) Main VLC code specifically in the main VLC directory C:\msys\1.0\home\SteveL\vlc;

2) Supporting code otherwise in the C:\msys\1.0 such as include files in C:\msys\1.0\win32\include

I believe one major issue is that I was trying to build VLC 1.2 against a set of supporting files that were not a correct match for it - they were a match for VLC 1.1.0, but not quite for 1.2. That is why I was hoping there might be a new "recipe" that would help me get the supporting set of files right. I did correct some of the issues; for example c:\msys\1.0\home\SteveL\vlc\modules\access\vlc_dshow.h had declarations that were in c:\msys\1.0\win32\include\uuids.h, and so obviously I just commented out the duplicate set - easy enough.

Oh - yes - I am using MinGW. Relative to TDM-GCC --sljl-exception handling - "gcc - v" does indicate this is disabled - I will try wt enabled and see what happens - I did get V1.1.0 to compile though with this version of Gcc - maybe VLC v1.2 is a different story... Thx!!!!!!!!!!!!!!!!!!!!

Ok - weird - the package I had downloaded says "MinGW/sjlj" (SEE IMAGE - selection on left under "bundle installer"), but when I install it and use "gcc -v" it says sjlj is disabled. I then grabbed the "on-demand installer" and that allowed me to select which version I wanted and that one worked! Image

Ok - boldly on to the next error! )

Steve


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 2 guests