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
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.