Win32CompileMSYSTroubleShooting
This is a list of various errors that have occurred "over the years" during building VLC with windows, with their resolutions. Of course, if it's not here, google is your friend.
- It doesn't link, and complains about missing gcc symbols: You missed this line in the instructions:
Use text editor to change MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la file (line should be library_names=) due to bug in latest MinGW.
Originally, there was apparently a bug with 4.4.0 GCC, fixed thus (except that in reality, you must use TDM, not vanilla GCC, because you need sljl exception handling):
Then, update Mingw GCC to 4.4.0 by downloading http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-full-4.4.0-mingw32-bin-2.tar.lzma/download and extracting it to C:\Mingw (replacing files when asked). Finally, you'll gave to fix the file C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la by opening it and changing the line defining library_names so that it reads library_names=''
- Compilation stops early, after configure was complaining about mismatched quotes:
Check the VLC_COMPILE_HOST variable in your config.h - if it's Option f is not valid then hostname -f fails (on Windows, there is no such option as -f). In configure.ac change
AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2> /dev/null || hostname`", [host which ran configure])
to
AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
- If compile complains about a config.h and pthread.h not found problem, just delete config.h
- If building self-contained packages fails with make: zip: Command not found then download the following file and extract it to C:\Msys\1.0 :
- http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/project/mi/mingw/MSYS/zip/zip-3.0-1/zip-3.0-1-msys-1.0.14-bin.tar.lzma
- If building self-contained packages fails with make: 7z: Command not found then copy 7z.exe from C:\Program Files\7-Zip in to C:\Msys\1.0\bin
- If building self-contained packages fails with Error: cannot locate makensis tool then use:
PATH=/c/Program\ Files/NSIS/:$PATH make package-win32