Page 1 of 1

Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 26 Apr 2011 22:40
by t-timmy
Hello.

I have not found a better suitable forum to post this question. I'm not sure LibVLC is about compiling VLC, but there was no other suitable forum under the development category.

I am using Windows 7 64-bit and following step-by-step from http://wiki.videolan.org/Win32CompileMSYSNew

As accurate as this guide is, my build fails.

Please help me compile, and I will make sure to update the Wiki.

First of all, step 7.2 failed. The configure command produced an error that shroedinger was not found. Googling a little bit, I added --disable-shroedinger to the script and then it worked. Should I have done that?

Then I executed the "PATH=/usr/win32/bin:$PATH make" which resulted in this output

Code: Select all

c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../libstrmiids.a(strmiids.o):strmiids.c:(.rdata+0x36c0): multiple definition of `MEDIASUBTYPE_MPEG2_TRANSPORT' .libs/libbda_plugin_la-bdagraph.o:bdagraph.cpp:(.rdata+0x1780): first defined here
I tried searching the forum but no one seems to have encountered this.
What am I doing wrong?

Thanks

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 27 Apr 2011 00:08
by Jean-Baptiste Kempf
Yes, you need an update contrib from http://people.videolan.org/~jb/Contribs/

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 27 Apr 2011 21:31
by t-timmy
Thanks for the quick reply.
I did what you said, and it seemed to help.
Now, however, I get the following error when running make.

What can I do?

Code: Select all

Creating library file: .libs/libupnp_intel_plugin.dll.a .libs/libupnp_intel_plugin_la-upnp_intel.o: In function `Z24xml_getChildElementV alueP13_IXML_ElementPKc': C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:158: undefine d reference to `_imp__ixmlElement_getElementsByTagName' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:162: undefine d reference to `_imp__ixmlNodeList_item' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:163: undefine d reference to `_imp__ixmlNodeList_free' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:166: undefine d reference to `_imp__ixmlNode_getFirstChild' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:169: undefine d reference to `_imp__ixmlNode_getNodeValue' .libs/libupnp_intel_plugin_la-upnp_intel.o: In function `Z17parseBrowseResultP14 _IXML_Document': C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:175: undefine d reference to `_imp__ixmlRelaxParser' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:180: undefine d reference to `_imp__ixmlDocument_getElementsByTagName' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:184: undefine d reference to `_imp__ixmlNodeList_item' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:186: undefine d reference to `_imp__ixmlNodeList_free' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:190: undefine d reference to `_imp__ixmlNode_getFirstChild' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:193: undefine d reference to `_imp__ixmlNode_getNodeValue' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:196: undefine d reference to `_imp__ixmlParseBuffer' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:524: undefined reference to `_imp__UpnpSubscribe' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:533: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:567: undefined reference to `_imp__UpnpAddToAction ' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:571: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:617: undefined reference to `_imp__ixmlDocument_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:593: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:582: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:615: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:604: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:624: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:635: undefined reference to `_imp__UpnpSendAction' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:639: undefined reference to `_imp__UpnpGetErrorMes sage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:644: undefined reference to `_imp__ixmlDocument_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o: In function `Close': C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:141: undefine d reference to `_imp__UpnpFinish' .libs/libupnp_intel_plugin_la-upnp_intel.o: In function `Open': C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:97: undefined reference to `_imp__UpnpInit' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:108: undefine d reference to `_imp__UpnpRegisterClient' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:117: undefine d reference to `_imp__UpnpSearchAsync' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:126: undefine d reference to `_imp__UpnpSetMaxContentLength' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:129: undefine d reference to `_imp__UpnpGetErrorMessage' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:100: undefine d reference to `_imp__UpnpGetErrorMessage' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:695: undefined reference to `_imp__ixmlDocument_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:706: undefined reference to `_imp__ixmlDocument_ge tElementsByTagName' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:711: undefined reference to `_imp__ixmlNodeList_le ngth' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:714: undefined reference to `_imp__ixmlNodeList_it em' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:717: undefined reference to `_imp__ixmlElement_get Attribute' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:722: undefined reference to `_imp__ixmlElement_get Attribute' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:752: undefined reference to `_imp__ixmlNodeList_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:756: undefined reference to `_imp__ixmlDocument_ge tElementsByTagName' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:759: undefined reference to `_imp__ixmlNodeList_le ngth' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:762: undefined reference to `_imp__ixmlNodeList_it em' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:765: undefined reference to `_imp__ixmlElement_get Attribute' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:785: undefined reference to `_imp__ixmlNodeList_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:788: undefined reference to `_imp__ixmlDocument_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:309: undefined reference to `_imp__ixmlDocument_ge tElementsByTagName' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:325: undefined reference to `_imp__ixmlDocument_ge tElementsByTagName' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:329: undefined reference to `_imp__ixmlNodeList_le ngth' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:388: undefined reference to `_imp__ixmlNodeList_it em' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:332: undefined reference to `_imp__ixmlNodeList_it em' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:457: undefined reference to `_imp__ixmlNodeList_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:381: undefined reference to `_imp__ixmlElement_get ElementsByTagName' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:421: undefined reference to `_imp__UpnpResolveURL' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:442: undefined reference to `_imp__UpnpResolveURL' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:313: undefined reference to `_imp__ixmlNodeList_it em' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:315: undefined reference to `_imp__ixmlNode_getFir stChild' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:316: undefined reference to `_imp__ixmlNode_getNod eValue' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:319: undefined reference to `_imp__ixmlNodeList_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o:C:\msys\1.0\home\Jon\vlc\modules\serv ices_discovery/upnp_intel.cpp:454: undefined reference to `_imp__ixmlNodeList_fr ee' .libs/libupnp_intel_plugin_la-upnp_intel.o: In function `Callback': C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:221: undefine d reference to `_imp__UpnpDownloadXmlDoc' C:\msys\1.0\home\Jon\vlc\modules\services_discovery/upnp_intel.cpp:233: undefine d reference to `_imp__ixmlDocument_free' collect2: ld returned 1 exit status make[4]: *** [libupnp_intel_plugin.la] Error 1 make[4]: Leaving directory `/home/Jon/vlc/modules/services_discovery' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/Jon/vlc/modules/services_discovery' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/Jon/vlc/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/Jon/vlc' make: *** [all] Error 2

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 27 Apr 2011 22:28
by Jean-Baptiste Kempf
--disable-upnp

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 28 Apr 2011 10:54
by t-timmy
Worked. Wiki was updated.

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 04 May 2011 02:05
by sbpark2000
I do not have a luck.
I installed latest contrib :
I have build errors at gme_plugin.
I am using gcc 4.5.2.

What did I miss ?
============================================================================================================
make[2]: Entering directory `/home/xxx/vlc/modules/demux'
CXXLD libgme_plugin.la
Creating library file: .libs/libgme_plugin.dll.a
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x505): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x51b): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x569): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x583): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x5a5): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x5bb): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x602): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x61c): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x642): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x65b): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x68c): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x786): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x9c5): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0x9db): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xa33): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xb89): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xbb2): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xbcb): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xbf1): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xc4b): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xccf): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xcf2): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xd0b): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xd2d): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xe3a): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(gme.cpp.obj):gme.cpp:(.text+0xedb): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x5a2): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x5bb): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x614): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x634): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x652): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x66b): undefined reference to `_Unwind_SjLj_Register'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x6bc): undefined reference to `_Unwind_SjLj_Unregister'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x6dc): undefined reference to `_Unwind_SjLj_Resume'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+0x6f2): undefined reference to `__gxx_personality_sj0'
C:/MinGW/msys/1.0/win32/lib/libgme.a(Multi_Buffer.cpp.obj):Multi_Buffer.cpp:(.text+make[2]: *** [libgme_plugin.la] Interrupt
make[1]: *** [all-recursive] Interrupt
make: *** [all] Interrupt
=================================================================================

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Jul 2011 12:21
by zouyu
Worked. Wiki was updated.
hi,how do you fix this ?
i compiling vlc 1.1.10 and get the same bug

i have updated the contrib

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 13 Sep 2011 22:17
by bmesander
I have same problem with compiling win32/mingw with vlc-1.1.11. I am using contrib-20110823-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz contrib file.

C:/msys/1.0/win32/lib/libgme.a(Vgm_Emu_Impl.cpp.obj):Vgm_Emu_Impl.cpp:(.text$_ZN
12Vgm_Emu_ImplD0Ev[Vgm_Emu_Impl::~Vgm_Emu_Impl()]+0x2b): undefined reference to
`_Unwind_SjLj_Register'
C:/msys/1.0/win32/lib/libgme.a(Vgm_Emu_Impl.cpp.obj):Vgm_Emu_Impl.cpp:(.text$_ZN
12Vgm_Emu_ImplD0Ev[Vgm_Emu_Impl::~Vgm_Emu_Impl()]+0xd8): undefined reference to
`_Unwind_SjLj_Unregister'
C:/msys/1.0/win32/lib/libgme.a(Vgm_Emu_Impl.cpp.obj):Vgm_Emu_Impl.cpp:(.text$_ZN
12Vgm_Emu_ImplD0Ev[Vgm_Emu_Impl::~Vgm_Emu_Impl()]+0x17e): undefined reference to
`_Unwind_SjLj_Resume

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 13 Sep 2011 23:20
by bmesander
This thread seems to offer some more clues:

viewtopic.php?f=14&t=93181

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Sep 2011 00:38
by Jean-Baptiste Kempf
sjlj issues are quite documented.

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Sep 2011 16:23
by bmesander
I had to recompile lib555 and openssl with my compiler instead of using the ones in the contrib/msys universe I had installed; once I did that, I was able to link without sjlj issues.

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Sep 2011 16:27
by Jean-Baptiste Kempf
While the simple solution is to use the right gcc-tdm compiler as documented on the wiki...

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Sep 2011 17:45
by bmesander
Hi Jean-Baptiste,

I am using gcc-tdm, per the wiki. The issue it seems is that that I am (intentionally) carrying local modifications to some of the contrib libraries in order to support SRTP. Thus my configuration options are somewhat different than the tested configuration options on the wiki.

Thanks, Ben

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 14 Sep 2011 23:51
by Jean-Baptiste Kempf
There are 2 different versions of gcc, one with dw2, one with sjlj. You must take the right one, else, you have the sjlj issues.

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 15 Sep 2011 02:28
by bmesander
Hi Jean-Baptiste,

I downloaded gcc-tdm originally (several weeks ago) with the link from the wiki. This installed the dwarf2 version (or it was overwritten later with the dwarf2 version; see below). Today I visited the gcc-tdm website and explicitly downloaded the sjlj version and installed it, which worked.

I had to recompile my openssl and lib555 libraries separately because we have added SRTP support to VLC & lib555 and thus are not using the precompiled contribs for those, and they were compiled with the dwarf2 version which I installed from the wiki link.

I don't know whether the mingw compile wiki has changed or the file on the gcc-tdm website to cause this issue, or perhaps the order of things in the wiki is incorrect (do the msys developer tools which are installed after gcc-tdm in the directions overwrite the gcc-tdm compiler?), but I assure you at one point at least, you could follow the directions exactly on a clean window 7 machine with nothing installed and end up with contribs being compiled with the sjlj exception handling ABI and the VLC with dwarf 2. I did not note this problem with VLC 1.0.2 and the contribs linked from the wiki, but I did note the problem with vlc 1.1.11 and the latest contribs (not linked from wiki).

I note one other problem with the wiki, if you follow the directions exactly, you end up with a non-GNU m4 ahead of GNU m4 in your path. This results with an error during the bootstrap phase indicating that m4 does not accept the --gnu option. I don't fully understand the interactions between the windows path, msys/mingw path, etc. so I just moved the non-GNU m4 out of the way and replaced it with another copy of GNU m4, and the build process was happy.

Hope this helps... Ben

Re: Compiling VLC 1.1.9 natively on Win32 using MSys

Posted: 15 Sep 2011 02:30
by bmesander
Finally, I note in the vlc documentation for installing gcc-tdm, the exception handling is referred to as siji exception handling rather than sjlj, so I missed this while searching for it.