<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gnosygnu</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gnosygnu"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Gnosygnu/"/>
	<updated>2026-11-04T14:49:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32CompileMSYSTroubleShooting&amp;diff=22860</id>
		<title>Win32CompileMSYSTroubleShooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32CompileMSYSTroubleShooting&amp;diff=22860"/>
		<updated>2012-07-29T03:20:12Z</updated>

		<summary type="html">&lt;p&gt;Gnosygnu: added several new errors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== General ===&lt;br /&gt;
This is a list of various errors that have occurred &amp;quot;over the years&amp;quot; during [[Win32CompileMSYSNew|building VLC with windows]], with their resolutions.   Of course, if it&#039;s not here, google is your friend.&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;unix2dos&amp;quot; command not found: this meant &amp;quot;you forgot to install mingw-utils&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Dialog complain about &#039;&#039;&#039;intl.dll&#039;&#039;&#039; missing when &#039;&#039;&#039;pkg-config&#039;&#039;&#039; is used: copy https://svn.modevia.com/inkscape/devlibs/bin/intl.dll to C:\msys\1.0\bin\ and try again.&lt;br /&gt;
&lt;br /&gt;
*It doesn&#039;t link, and complains about missing gcc symbols: You missed this line in the instructions:&lt;br /&gt;
&lt;br /&gt;
Use text editor to change MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la file (line should be library_names=&#039;&#039;) due to bug in latest MinGW.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Originally, there was apparently a bug with 4.4.0 GCC (not 4.4.1), fixed thus (except that in reality, you must use TDM, not vanilla GCC, because you need sljl exception handling):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;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&#039;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 &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;library_names=&#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Compilation stops early, after configure was complaining about mismatched quotes:&lt;br /&gt;
&lt;br /&gt;
Check the VLC_COMPILE_HOST variable in your config.h - if it&#039;s &#039;&#039;Option f is not valid&#039;&#039; then &#039;&#039;hostname -f&#039;&#039; fails (on Windows, there is no such option as -f). In configure.ac change &lt;br /&gt;
&amp;lt;pre&amp;gt;AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, &amp;quot;`hostname -f 2&amp;amp;gt; /dev/null || hostname`&amp;quot;, [host which ran configure])&amp;lt;/pre&amp;gt; &lt;br /&gt;
to &lt;br /&gt;
&amp;lt;pre&amp;gt;AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, &amp;quot;`hostname`&amp;quot;, [host which ran configure])&amp;lt;/pre&amp;gt; &lt;br /&gt;
*If compile complains about a config.h and pthread.h not found problem, just delete config.h&lt;br /&gt;
*If building self-contained packages fails with &#039;&#039;make: zip: Command not found&#039;&#039; then download the following file and extract it to C:\Msys\1.0 :&lt;br /&gt;
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&lt;br /&gt;
*If building self-contained packages fails with &#039;&#039;make: 7z: Command not found&#039;&#039; then copy 7z.exe from C:\Program Files\7-Zip in to C:\Msys\1.0\bin&lt;br /&gt;
*If building self-contained packages fails with &#039;&#039;Error: cannot locate makensis tool&#039;&#039; then use:&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=/c/Program\ Files/NSIS/:$PATH make package-win32&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;/bin/m4: cannot remove temporary directory /tmp/...&amp;quot; during bootstrap. Disable any real-time scanning programs you have enabled (your anti-virus, Windows Defender) and convert configure.ac to Unix new lines.&lt;br /&gt;
&lt;br /&gt;
=== contribs make prebuilt fails with tar errors ===&lt;br /&gt;
You may get several tar errors before the &amp;quot;make prebuilt&amp;quot; fails with an error like this:&lt;br /&gt;
&lt;br /&gt;
 tar: i586-mingw32msvc/lib/libdts.a: Cannot create symlink to `/home/jb/vlc-2.0/contrib/i586-mingw32msvc/lib/libdca.a&#039;: No such file or directory&lt;br /&gt;
 tar: Error exit delayed from previous errors&lt;br /&gt;
 make: *** [prebuilt] Error 2&lt;br /&gt;
&lt;br /&gt;
Ignore it and run the rest of the prebuilt target as the wiki details:&lt;br /&gt;
&lt;br /&gt;
 mv i586-mingw32msvc ..&lt;br /&gt;
 cd ../i586-mingw32msvc&lt;br /&gt;
 change_prefix.sh&lt;br /&gt;
&lt;br /&gt;
=== change_prefix.sh fails ===&lt;br /&gt;
You may see an error like this&lt;br /&gt;
&lt;br /&gt;
    mv: cannot move `./change_prefix.sh.tmp&#039; to `./change_prefix.sh&#039;: Permission denied&lt;br /&gt;
&lt;br /&gt;
This appears to be harmless. The script continues to execute afterwards. Note that there will be no status updates for a few minutes, so it may appear frozen. Don&#039;t Ctrl-C or cancel the process.&lt;br /&gt;
&lt;br /&gt;
=== configure fails b/c of unreferenced contribs ===&lt;br /&gt;
On some setups, configure may fail with the following error:&lt;br /&gt;
 configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.&lt;br /&gt;
&lt;br /&gt;
If you try --disable-lua, and you may still run into errors with live555, mad and eventually libfaad.&lt;br /&gt;
&lt;br /&gt;
The issue can be resolved by explicitly referencing your contrbs. Note that your contribs will be in this folder C:\msys\1.0\home\&amp;lt;username&amp;gt;\vlc\contrib\i586-mingw32msvc. In order for configure to pick up the location, add a --with-contrib=contrib/i586-mingw32msvc&lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure.sh --host=i586-pc-mingw32msvc --with-contrib=contrib/i586-mingw32msvc --disable-nls&lt;br /&gt;
&lt;br /&gt;
=== make fails b/c of libpng ===&lt;br /&gt;
make may fail because of missing libpng files&lt;br /&gt;
&lt;br /&gt;
 /bin/sed: can&#039;t read /home/&amp;lt;username&amp;gt;/vlc/contrib/i586-mingw32msvc/lib/libpng.la: No such file or directory&lt;br /&gt;
 libtool: link: `/home/&amp;lt;username&amp;gt;/vlc/contrib/i586-mingw32msvc/lib/libpng.la&#039; is not a valid libtool archive&lt;br /&gt;
&lt;br /&gt;
If so, find the libpng15.la and libpng15.a files in that directory and copy them to libpng.la and libpng.a. (You should end up with the same path referenced in the above error)&lt;br /&gt;
&lt;br /&gt;
=== make fails b/c of missing moc, rcc, uic ===&lt;br /&gt;
make may also fail because of missing commands for moc, rcc, uic:&lt;br /&gt;
&lt;br /&gt;
 /bin/sh: moc: command not found&lt;br /&gt;
 make[5]: *** [main_interface.moc.cpp] Error 127&lt;br /&gt;
&lt;br /&gt;
 /bin/sh: rcc: command not found&lt;br /&gt;
 make[5]: *** [resources.cpp] Error 127&lt;br /&gt;
&lt;br /&gt;
 /bin/sh: uic: command not found&lt;br /&gt;
 make[5]: *** [ui/equalizer.h] Error 127&lt;br /&gt;
&lt;br /&gt;
You can workaround this by by copying the corresponding command.exe from the contrib directory to my bin directory&lt;br /&gt;
&lt;br /&gt;
 source: C:\msys\1.0\home\&amp;lt;username&amp;gt;\vlc\contrib\i586-mingw32msvc\moc.exe&lt;br /&gt;
 target: C:\msys\1.0\bin\moc.exe&lt;br /&gt;
&lt;br /&gt;
=== make fails b/c of compile error &#039;expected unqualified-id&#039; ===&lt;br /&gt;
make may also fail with a compile error in gui/qt with &amp;quot;expected unqualified-id before &#039;char&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 In file included from dialogs_provider.cpp:42:0:&lt;br /&gt;
 dialogs/preferences.hpp: At global scope:&lt;br /&gt;
 dialogs/preferences.hpp:72:19: error: expected unqualified-id before &#039;char&#039;&lt;br /&gt;
 dialogs/preferences.hpp:72:18: error: expected &#039;;&#039; at end of member declaration&lt;br /&gt;
 dialogs/preferences.hpp:72:24: error: expected unqualified-id before &#039;,&#039; token&lt;br /&gt;
&lt;br /&gt;
If so, do the following&lt;br /&gt;
* open up C:\msys\1.0\home\&amp;lt;username&amp;gt;\vlc\include\vlc_windows_interfaces.h&lt;br /&gt;
* add &amp;quot;#undef small&amp;quot; on a new line directly underneath &amp;quot;#include &amp;lt;objbase.h&amp;gt;&amp;quot;&lt;br /&gt;
See this [http://forum.videolan.org/viewtopic.php?f=14&amp;amp;t=102257 forum thread] for more info&lt;br /&gt;
&lt;br /&gt;
=== make fails b/c of unknown rule ===&lt;br /&gt;
make package-win32-base may fail with the following:&lt;br /&gt;
&lt;br /&gt;
 make: *** No rule to make target `package-win32-base&#039;.  Stop.&lt;br /&gt;
&lt;br /&gt;
If so, use package-win32-exe, package-win-base or common&lt;br /&gt;
&lt;br /&gt;
=== make fails b/c of missing git, svn, makensis ===&lt;br /&gt;
* For git, copy the git.exe from your Git installation to C:\msys\1.0\bin\.&lt;br /&gt;
* For svn, you can get the entire bin folder from [http://svn.collab.net/repos/svn/branches/1.7.x/CHANGES collab.net].&lt;br /&gt;
* For makensis you can comment out the lines in Makefile&lt;br /&gt;
&lt;br /&gt;
 # Create package&lt;br /&gt;
 #   if makensis -VERSION &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then \&lt;br /&gt;
 #       MAKENSIS=&amp;quot;makensis&amp;quot;; \&lt;br /&gt;
 #   elif [ -x &amp;quot;/cygdrive/c/Program Files/NSIS/makensis&amp;quot; ]; then \&lt;br /&gt;
 #       MAKENSIS=&amp;quot;/cygdrive/c/Program\ Files/NSIS/makensis&amp;quot;; \&lt;br /&gt;
 #   elif [ -x &amp;quot;$(PROGRAMFILES)/NSIS/makensis&amp;quot; ]; then \&lt;br /&gt;
 #       MAKENSIS=&amp;quot;$(PROGRAMFILES)/NSIS/makensis&amp;quot;; \&lt;br /&gt;
 #   elif wine --version &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then \&lt;br /&gt;
 #       MAKENSIS=&amp;quot;wine C:/Program\ Files/NSIS/makensis.exe&amp;quot;; \&lt;br /&gt;
 #   else \&lt;br /&gt;
 #       echo &#039;Error: cannot locate makensis tool&#039;; exit 1; \&lt;br /&gt;
 #   fi; \&lt;br /&gt;
 #   eval &amp;quot;$$MAKENSIS $(win32_destdir)/spad.nsi&amp;quot;; \&lt;br /&gt;
 #   eval &amp;quot;$$MAKENSIS $(win32_destdir)/vlc.win32.nsi&amp;quot;&lt;/div&gt;</summary>
		<author><name>Gnosygnu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32CompileMSYSNew&amp;diff=22858</id>
		<title>Win32CompileMSYSNew</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32CompileMSYSNew&amp;diff=22858"/>
		<updated>2012-07-29T03:07:35Z</updated>

		<summary type="html">&lt;p&gt;Gnosygnu: changes to precompiled contribs, and other minor changes as per forum thread http://forum.videolan.org/viewtopic.php?f=32&amp;amp;t=102843&amp;amp;sid=f58967215a83981dda030ff6efa3d493&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction  =&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
MSys is a helper environment for MinGW, the compiler chain for Windows based on GCC. It can build VLC natively on Windows.  Note that you should also [[Win32Compile|cross compile]] VLC from Linux, because it is faster, and feels easier.&lt;br /&gt;
&lt;br /&gt;
VLC is a complex program with many dependencies, so minimal command-line experience is required. Also, don&#039;t be in a hurry (4 hours is a minimum for the whole process) and don&#039;t despair if it doesn&#039;t work first time.&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
This howto was re-created by [[User:J-b|Jean-Baptiste Kempf]] and updated in June 2009, September 2009, December 2009 and March 2010. &lt;br /&gt;
&lt;br /&gt;
It was updated in June 2010 by Vicne with the help of J-b, gnosygnu and MichaelMc&lt;br /&gt;
&lt;br /&gt;
It was updated in July 2012 by gnosygnu. Note that there are several new notes in [[Win32CompileMSYSTroubleShooting]]. These reflect problems that were encountered on gnosygnu&#039;s setup (Windows XP SP3). Refer to this [http://forum.videolan.org/viewtopic.php?f=32&amp;amp;t=102843&amp;amp;sid=f58967215a83981dda030ff6efa3d493 forum thread] for more information.&lt;br /&gt;
&lt;br /&gt;
= Windows tools needed  =&lt;br /&gt;
== Text editor  ==&lt;br /&gt;
&lt;br /&gt;
To edit unix-style text documents you need a suitable editor. &lt;br /&gt;
&lt;br /&gt;
You can look at [http://sourceforge.net/projects/notepad2/ notepad2]. You can set File - Line endings - Default to &amp;quot;Unix (LF)&amp;quot;, but it always saves opened files in the ending style they have.&lt;br /&gt;
&lt;br /&gt;
Or you can look at [http://notepad-plus-plus.org/ notepad++].&lt;br /&gt;
&lt;br /&gt;
== Unzip Utility (7-zip) ==&lt;br /&gt;
&lt;br /&gt;
Many files to downloaded will have to be uncompressed. As most of them use Linux-originated formats (.tar.gz, .tar.bz2, .tar.lzma), you will need a versatile unzipping utility. A recent version of [http://www.7-zip.org/ 7-zip] is therefore strongly advised. &lt;br /&gt;
&lt;br /&gt;
Please note that most archives contain directory structures. Unless otherwise stated, you have to merge the contents with the existing dirs&lt;br /&gt;
&lt;br /&gt;
= GNU Windows Environment  =&lt;br /&gt;
Before installing, ensure your Windows user name does not contain spaces (VLC will not build in a folder with spaces in it). If it does, please create another user on your system. &lt;br /&gt;
&lt;br /&gt;
In the following text, we&#039;ll refer to this user name as &amp;quot;&amp;amp;lt;username&amp;amp;gt;&amp;quot;. Replace it appropriately where needed of course. &lt;br /&gt;
&lt;br /&gt;
== MinGW  ==&lt;br /&gt;
=== TDM/MinGW Setup  ===&lt;br /&gt;
&lt;br /&gt;
Use the installer found at http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.6.1.exe/download&lt;br /&gt;
&lt;br /&gt;
Go through the wizard: &lt;br /&gt;
* Select &amp;quot;Create&amp;quot; &lt;br /&gt;
* Select 32bits&lt;br /&gt;
* Install to C:\MinGW &lt;br /&gt;
* Keep default settings &lt;br /&gt;
&lt;br /&gt;
=== MinGW utils ===&lt;br /&gt;
&lt;br /&gt;
Install mingw-utils: http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz &lt;br /&gt;
&lt;br /&gt;
Extract contents to c:\MinGW\mingw32&lt;br /&gt;
&lt;br /&gt;
http://sourceforge.net/projects/gnuwin32/files/wget/1.11.4-1/wget-1.11.4-1-setup.exe/download&lt;br /&gt;
&lt;br /&gt;
== MSys  ==&lt;br /&gt;
=== MSys Setup  ===&lt;br /&gt;
&lt;br /&gt;
Use the installer found at http://sourceforge.net/project/downloading.php?group_id=2435&amp;amp;amp;filename=MSYS-1.0.11.exe &lt;br /&gt;
&lt;br /&gt;
Go through the wizard and install to to default C:\Msys\1.0 &lt;br /&gt;
&lt;br /&gt;
In the command window that opens, answer questions as follows: &lt;br /&gt;
&lt;br /&gt;
 Accept Post Install: [y]&lt;br /&gt;
 MinGW Installed?     [y]&lt;br /&gt;
 path to MinGW:       [c:/MinGW]&lt;br /&gt;
&lt;br /&gt;
=== MSys Developer Toolkit  ===&lt;br /&gt;
&lt;br /&gt;
Use the installer found at http://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe &lt;br /&gt;
&lt;br /&gt;
Go through the wizard, keeping the default values.&lt;br /&gt;
&lt;br /&gt;
=== Git ===&lt;br /&gt;
Install Git from http://code.google.com/p/msysgit/downloads/list?can=3&lt;br /&gt;
&lt;br /&gt;
Go through the wizard, keeping the default value, except the one speaking of line endings.&lt;br /&gt;
&lt;br /&gt;
=== Wget ===&lt;br /&gt;
You will need Wget:&lt;br /&gt;
http://sourceforge.net/projects/gnuwin32/files/wget/1.11.4-1/wget-1.11.4-1-setup.exe/download&lt;br /&gt;
&lt;br /&gt;
Extract it to c:\MinGW&lt;br /&gt;
&lt;br /&gt;
=== AutoTools and libcrypt  ===&lt;br /&gt;
&lt;br /&gt;
Update autoconf, automake, libtool as well as libcrypt by downloading the following files and extracting them to C:\Msys\1.0: &lt;br /&gt;
&lt;br /&gt;
*http://sourceforge.net/projects/mingw/files/MSYS/msysdev/autoconf/autoconf-2.68-1/autoconf-2.68-1-msys-1.0.17-bin.tar.lzma/download&lt;br /&gt;
*http://sourceforge.net/projects/mingw/files/MSYS/msysdev/automake/automake-1.11.1-1/automake-1.11.1-1-msys-1.0.13-bin.tar.lzma/download&lt;br /&gt;
*http://sourceforge.net/projects/mingw/files/MSYS/msysdev/libtool/libtool-2.4-1/libtool-2.4-1-msys-1.0.15-bin.tar.lzma/download&lt;br /&gt;
*http://prdownloads.sourceforge.net/mingw/libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma&lt;br /&gt;
*http://sourceforge.net/projects/mingw/files/MSYS/Extension/perl/perl-5.8.8-1/perl-5.8.8-1-msys-1.0.17-bin.tar.lzma/download&lt;br /&gt;
*http://sourceforge.net/projects/mingw/files/MSYS/Extension/m4/m4-1.4.14-1/m4-1.4.14-1-msys-1.0.13-bin.tar.lzma/download&lt;br /&gt;
&lt;br /&gt;
=== Glib and PKG-CONFIG  ===&lt;br /&gt;
&lt;br /&gt;
Similarly, download the following files and extract them to C:\MSys\1.0: &lt;br /&gt;
&lt;br /&gt;
Note* Download the latest version inside this folders (Last tested to be OK is glib 2.28, non-dev version)):&lt;br /&gt;
&lt;br /&gt;
*http://ftp.gnome.org/pub/GNOME/binaries/win32/glib &lt;br /&gt;
*ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip &lt;br /&gt;
*ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip&lt;br /&gt;
*http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: I found that compiling 2.1.0 requires xgettext, msgmerge, msgfmt and so on. These in turn require libiconv. I&#039;m not sure if that suffices as at this point I gave up.&lt;br /&gt;
&lt;br /&gt;
=== Add pkg config path variable  ===&lt;br /&gt;
&lt;br /&gt;
Add the following line to the *top* of C:\MSys\1.0\msys.bat: &lt;br /&gt;
&lt;br /&gt;
 set PKG_CONFIG_PATH=/win32/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
== Compile LUA tools  ==&lt;br /&gt;
&lt;br /&gt;
VLC uses the LUA scripting language (See [http://www.lua.org lua.org]). Unfortunately, no binaries are provided so you need to compile them. &lt;br /&gt;
&lt;br /&gt;
*Download the lua tools package from http://www.lua.org/ftp/lua-5.1.4.tar.gz &lt;br /&gt;
*Uncompress it in your home folder (C:\MSys\1.0\home\&amp;amp;lt;username&amp;amp;gt;) &lt;br /&gt;
*run MSys&lt;br /&gt;
*type the following commands:&lt;br /&gt;
&lt;br /&gt;
 cd /home/&amp;lt;username&amp;gt;/lua-5.1.4 &lt;br /&gt;
 make mingw&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
= VLC sources  =&lt;br /&gt;
== Git ==&lt;br /&gt;
Clone the git repo&lt;br /&gt;
 git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
= Get Precompiled contribs  =&lt;br /&gt;
 cd vlc/contrib&lt;br /&gt;
 mkdir win32 &amp;amp;&amp;amp; cd win32&lt;br /&gt;
 ../bootstrap --build=i586-mingw32msvc&lt;br /&gt;
 make prebuilt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: it will say tar complains, just ignore them and watch tar die.&lt;br /&gt;
I had to manually execute the rest of the prebuilt target, which consists of&lt;br /&gt;
&lt;br /&gt;
 mv i586-mingw32msvc ..&lt;br /&gt;
 cd ../i586-mingw32msvc&lt;br /&gt;
 change_prefix.sh&lt;br /&gt;
&lt;br /&gt;
I also found that change_prefix.sh, which rewrites .pc files to deal with their chosen location, used the -i option which is not supported by MSYS-shipped sed. I rewrote the sed script to write changes $file.new then mv $file.new $file.&lt;br /&gt;
&lt;br /&gt;
= Last change&amp;amp;nbsp;: whoami and hostname  =&lt;br /&gt;
&lt;br /&gt;
Whoami is not available on Windows, and hostname doesn&#039;t support the -f option used by the build process. These utilities are used to show the name and computer of the person who compiled VLC in the &#039;About&#039; box. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note for the brave&amp;amp;nbsp;: the steps below are file changes so that compile works, but an alternative is to download and install GNU whoami and hostname functionality. This can be achieved by doing the following steps:&lt;br /&gt;
# &#039;&#039;download coreutils from http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/coreutils, selecting any version (latter is normally better) then the file named like coreutils-5.97-2-msys-1.0.11-ext.tar.lzma (note &#039;-ext&#039; in file name) and extracting who.exe, whoami.exe, hostname.exe to C:/MSys/1.0/bin&#039;&#039;&lt;br /&gt;
# &#039;&#039;download libintl dll from http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/libiconv, selecting any version (latter is normally better) then the file named like libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma (note &#039;-dll&#039; in file name) and extracting dll in C:/MSys/1.0/bin&#039;&#039;&lt;br /&gt;
# &#039;&#039;download libiconv dll from http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gettext, selecting any version (latter is normally better) then the file named like libintl-0.17-2-msys-dll-8.tar.lzma (note &#039;-dll&#039; in file name) and extracting dll in C:/MSys/1.0/bin&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Whoami  ==&lt;br /&gt;
&lt;br /&gt;
Create a new file containing the single line: &lt;br /&gt;
&lt;br /&gt;
 echo &#039;&amp;amp;lt;username&amp;amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
and save it as C:\MSys\1.0\bin\whoami (without any extension) &lt;br /&gt;
&lt;br /&gt;
== Hostname  ==&lt;br /&gt;
&lt;br /&gt;
Modify configure.ac so that it doesn&#039;t call &#039;hostname -f&#039; as follows: &lt;br /&gt;
&lt;br /&gt;
*open C:\MSys\1.0\home\&amp;amp;lt;username&amp;amp;gt;\vlc\configure.ac &lt;br /&gt;
*goto search button:&lt;br /&gt;
*change it as follows:&lt;br /&gt;
&lt;br /&gt;
 old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, &amp;quot;`hostname -f 2&amp;amp;gt; /dev/null || hostname`&amp;quot;, [host which ran configure])&lt;br /&gt;
 new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, &amp;quot;`hostname`&amp;quot;, [host which ran configure])&lt;br /&gt;
&lt;br /&gt;
= Build VLC  =&lt;br /&gt;
&lt;br /&gt;
The build is made exclusively from the command line, so if you closed the prompt at the LUA step, re-execute C:\MSys\1.0\msys.bat, then type the commands as mentioned &lt;br /&gt;
&lt;br /&gt;
== Bootstrap  ==&lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 cp -v /usr/share/aclocal/* m4/&lt;br /&gt;
 bootstrap &lt;br /&gt;
== Configure  ==&lt;br /&gt;
&lt;br /&gt;
 sh extras/package/win32/configure.sh --host=i586-pc-mingw32msvc --disable-nls&lt;br /&gt;
&lt;br /&gt;
If you want any custom options, like &amp;quot;--disable-lua&amp;quot; or anything of that nature, you can append them.&lt;br /&gt;
&lt;br /&gt;
== Make (compile) ==&lt;br /&gt;
&lt;br /&gt;
Note&amp;amp;nbsp;: If your &amp;amp;lt;username&amp;amp;gt; starts with the &amp;quot;u&amp;quot; or &amp;quot;x&amp;quot; character, change C:\MSys\1.0\home\&amp;amp;lt;username&amp;amp;gt;\config.h and double all backslashes in VLC_COMPILED_BY constant. &lt;br /&gt;
&lt;br /&gt;
Type the following command&amp;amp;nbsp;: &lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/win32/bin:$PATH make&lt;br /&gt;
&lt;br /&gt;
If this step fails, try the following&lt;br /&gt;
* Go back to &amp;quot;Precompiled contribs&amp;quot; section, and obtain the latest compiled contrib (under &amp;quot;Note for the brave&amp;quot;)&lt;br /&gt;
* In the configure script section (configure-msys.sh), open that file and add --disable-upnp&lt;br /&gt;
&lt;br /&gt;
== Create self-contained packages  ==&lt;br /&gt;
&lt;br /&gt;
Once the compilation is done, build self-contained VLC packages with one of the following &amp;quot;make&amp;quot; commands: &lt;br /&gt;
&lt;br /&gt;
 make package-win32-base&lt;br /&gt;
&lt;br /&gt;
(This will create a subdirectory named vlc-x.x.x with all the binaries &amp;quot;stripped&amp;quot; without any debugging symbols). &lt;br /&gt;
&lt;br /&gt;
 make package-win32-zip&lt;br /&gt;
&lt;br /&gt;
(Same as above but will package the directory in a zip file). &lt;br /&gt;
&lt;br /&gt;
 make package-win32&lt;br /&gt;
&lt;br /&gt;
(Same as above but will also create an auto-installer package. You will need to have NSIS installed in its default location for this to work).&lt;br /&gt;
&lt;br /&gt;
 make package-win32-base-debug&lt;br /&gt;
&lt;br /&gt;
(This will create a subdirectory named vlc-x.x.x with all the binaries containing debug info usable by gdb).&lt;br /&gt;
&lt;br /&gt;
Note that with the 1.2 branch these names have changed slightly.  Run &#039;&lt;br /&gt;
 grep &#039;:&#039; Makefile | grep package-win32&lt;br /&gt;
to see what they are now.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
See [[Win32CompileMSYSTroubleShooting]].&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
*[[Win32CompileMSYSOld]] - deprecated documentation&lt;/div&gt;</summary>
		<author><name>Gnosygnu</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=UnixCompile&amp;diff=17121</id>
		<title>UnixCompile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=UnixCompile&amp;diff=17121"/>
		<updated>2010-09-23T22:30:38Z</updated>

		<summary type="html">&lt;p&gt;Gnosygnu: /* Possible problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prepare your environment  ==&lt;br /&gt;
&lt;br /&gt;
VLC uses gcc, automake, autoconf and friends for compilation. Make sure they are up to date and usable for your system. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Get the source  ==&lt;br /&gt;
&lt;br /&gt;
Start by [[GetTheSource|getting the source]], using FTP for releases, or using [[Git]] for development. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
If your are using the release, download source code and extract the archive and go into your VLC directory. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % cd /path/to/your/vlc/folder/&lt;br /&gt;
&lt;br /&gt;
If you are using the [[Git]] version, start by bootstrapping your VLC. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % cd /path/to/your/vlc/folder/&lt;br /&gt;
 % ./bootstrap&lt;br /&gt;
&lt;br /&gt;
== Get the 3rd party libs  ==&lt;br /&gt;
&lt;br /&gt;
Now you can start to configure VLC. Remember to first take a look at &amp;lt;tt&amp;gt;./configure --help&amp;lt;/tt&amp;gt;. Take a good look at that enormous list of options. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== General info  ===&lt;br /&gt;
&lt;br /&gt;
It is very important that you install and enable all the 3rd party libraries that you will be needing and let me tell you that that are a lot. If you don&#039;t install them you will end up with an application that well..... essentially doesn&#039;t do anything. See [[Contrib Status|here]] for a complete list. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
There are some very important dependencies: gettext (nls) for international support (required), libdvbpsi for mpeg files and streams support, libmad for mp3 decoding, libmpeg2 for mpeg 1 and 2 video support, ffmpeg (libavcodec, libavformats, libswscale) for support of mpeg4 and many other types of video, liba52 for dolby (AC3) sound, alsa for proper audio output, xvideo for proper video output, QT4 for proper GUI support and libdvd* for DVD support. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful!&#039;&#039;&#039; Some of the libraries are better not to be installed (at all, beware of old installations) and should be linked to directly. These are mostly ffmpeg and liveMedia. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
There are also some libraries that are no longer being maintained and which we advise not to use. These include the gtk, gnome and kde GUIs, the glide and mga modules. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Get&#039;em  ===&lt;br /&gt;
&lt;br /&gt;
There are a few ways to get those libs. You should use only one method at a time: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;The preferred way&#039;&#039;&#039;: Using your distribution or portage system, in order to get all the needed libs.&lt;br /&gt;
&lt;br /&gt;
For example on Debian or Ubuntu: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 # apt-get build-dep vlc&lt;br /&gt;
&lt;br /&gt;
*If your distro is really bad and doesn&#039;t provide the libs, no -dev or -devel packages: Using the contribs system in VLC&#039;s sources&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;nbsp;% cd extras/contrib;&lt;br /&gt;
 &amp;amp;nbsp;% ./bootstrap;&lt;br /&gt;
 &amp;amp;nbsp;% make;&lt;br /&gt;
&lt;br /&gt;
This should download and build a lot of those libs for you. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*Read the [[Contrib Status|list]], download them and build by hand.&lt;br /&gt;
&lt;br /&gt;
== Configuration  ==&lt;br /&gt;
&lt;br /&gt;
You need to tweak your configure line. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; is used to check whether your system is able to compile VLC. Also you choose the functionalities of your build. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % ./configure --help&lt;br /&gt;
&lt;br /&gt;
will show you the various options &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Special libs  ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;tt&amp;gt;--with-live555-path=path/to/livemedia/source/tree&amp;lt;/tt&amp;gt; in connection with --enable-live555&amp;amp;lt;/tt&amp;amp;gt;. For ffmpeg, the only reliable way for VLC&#039;s configure to know how your ffmpeg&#039;s libs were compiled is to use pkg-config. So you need to set PKG_CONFIG_PATH correctly if your ffmpeg is not installed at the default place or you want to use static linking. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Final configuration  ===&lt;br /&gt;
&lt;br /&gt;
If you want to install VLC into another directory, run &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % ./configure --prefix=/path/to/install/folder/&lt;br /&gt;
&lt;br /&gt;
This is an example of a typical VLC configure line: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % ./configure --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-libdvbpsi --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --with-live555-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --disable-kde --enable-qt4 --enable-ncurses --enable-release&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[User:J-b#VLC_configure_line|Here]] is another. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Ubuntu  ==&lt;br /&gt;
&lt;br /&gt;
If you get continuous errors while ./configure then consider reinstalling the corresponding libraries. This will set the paths and other information correctly. Check the $PKG_CONFIG_PATH(environment variable) whether it is set to a path where the libraries like libavcodec.pc are available. Otherwise create the environment variable, export it and then update the ldconfig &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Compilation  ==&lt;br /&gt;
&lt;br /&gt;
Compile VLC: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % make&lt;br /&gt;
&lt;br /&gt;
As root (type &amp;quot;su&amp;quot; to change to root account): &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 # make install&lt;br /&gt;
&lt;br /&gt;
To remove files created during the compile (optional) type: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 % make clean&lt;br /&gt;
&lt;br /&gt;
== Notes  ==&lt;br /&gt;
&lt;br /&gt;
=== Cygwin  ===&lt;br /&gt;
&lt;br /&gt;
Compiling on [[Win32CompileCygwin|Cygwin]] may be broken from time to time. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== Debian  ===&lt;br /&gt;
&lt;br /&gt;
Debian users who want to compile VLC should install the packages below. Note: If you just want to &#039;&#039;use&#039;&#039; VLC media player then simply install the package vlc (&amp;lt;tt&amp;gt;sudo apt-get install vlc&amp;lt;/tt&amp;gt;) - the unstable version is normally very up-to-date (and stable is, er, stable&amp;amp;nbsp;;-) &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*[http://packages.debian.org/unstable/libdevel/libavcodec-dev libavcodec-dev] &lt;br /&gt;
 &lt;br /&gt;
*[http://packages.debian.org/unstable/libdevel/libpostproc-dev libpostproc-dev] &lt;br /&gt;
 &lt;br /&gt;
*[http://packages.debian.org/unstable/libdevel/libmpeg2-4-dev libmpeg2-4-dev]&lt;br /&gt;
&lt;br /&gt;
== Version  ==&lt;br /&gt;
&lt;br /&gt;
This HOWTO has been originally written by [mailto:hartman_at_videolan_dot_org Derk-Jan Hartman]. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
It has been modified and updated by [[User:J-b|Jean-Baptiste Kempf]]. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
It was spelled-checked and sudoed by [[User:Materthron|materthron]]. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Further spell-checking, grammar corrections, and replaced a word with &amp;quot;bad&amp;quot; by [[User:Neo The User|Neo_The_User]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fixed wrong command for getting lua51 on Ubuntu (dot was missing) in Possible problems section [[User:Titanic|Titanic]].&lt;br /&gt;
&lt;br /&gt;
== Possible problems ==&lt;br /&gt;
&#039;&#039;&#039;LUA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You may need to install lua if you get &amp;quot;LUA byte compiler missing.&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
For Ubuntu:&lt;br /&gt;
&lt;br /&gt;
 % sudo aptitude install lua5.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XCB&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VLC 1.1 requires xcb libraries. Configuring without xcb may result in the following error&lt;br /&gt;
 checking for XLIB_XCB... configure: error: Package requirements (x11-xcb) were not met:&lt;br /&gt;
 No package &#039;x11-xcb&#039; found&lt;br /&gt;
&lt;br /&gt;
To install these libraries run the following&lt;br /&gt;
 sudo apt-get install libxcb-shm0-dev libxcb-xv0-dev libxcb-keysyms1-dev libxcb-randr0-dev libx11-xcb-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can disable xcb by running ./configure --disable-xcb&lt;br /&gt;
Note that your VLC will only be able to do Video Output to a separate SDL window&lt;br /&gt;
&lt;br /&gt;
--[[User:Gnosygnu|Gnosygnu]] 22:30, 23 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Gnosygnu</name></author>
	</entry>
</feed>