Commit b7cbec2b authored by Dennis van Amerongen's avatar Dennis van Amerongen

* msys-compile.txt: Add howto for setting up MSYS/MinGW environment for...

* msys-compile.txt: Add howto for setting up MSYS/MinGW environment for compiling VLC. Still needs a lot of improvement.. but hey, it works
parent bc240717
......@@ -108,8 +108,8 @@ href="mailto:sam@videolan.org">Samuel Hocevar</a>
<tr>
<td class="category">Win32 Cygwin Environment<br>and Compile HOWTO</td>
<td class="yes">
Up-to-date
<td class="partial">
Incomplete
</td>
<td>
<a href="cygwin-compile.txt">TXT</a>
......@@ -119,6 +119,19 @@ href="mailto:sam@videolan.org">Samuel Hocevar</a>
</td>
</tr>
<tr>
<td class="category">Win32 MSYS/MinGW Environment<br></td>
<td class="partial">
Incomplete
</td>
<td>
<a href="msys-compile.txt">TXT</a>
</td>
<td>
<a href="mailto:trax_@_videolan_dot_org">Trax</a>
</td>
</tr>
<tr>
<td class="category">Mac OS X Compile HOWTO</td>
<td class="yes">
......
This document is still under construction (last updated 10 nov. 2006)
=====================================================================
Document : MSYS/MinGW environment under Windows (XP/2000/2003)
Version : 20060926 Initial version
20060928 Reworked layout
20061011 Added troubleshooting section
Maintainer : Trax
1. MSYS/MinGW environment
=========================
Setting up a working MSYS/MinGW environment requires the following:
1. MSYS installation
2. Updating MSYS
3. MSYS DTK (Developer Tool Kit)
4. Updating bash (shell)
5. MinGW installation
6. Configuration of fstab
7. Creation of home folder
Note that the following generic resource locations were used to download the
appropriate packages (and more recent versions might be obtained from here).
- MSYS/MinGW related:
http://prdownloads.sourceforge.net/mingw
- nasm, SDL, zip, pkg-config and sed packages:
http://prdownloads.sourceforge.net/nasm
http://www.libsdl.org
http://www.info-zip.org
http://pkgconfig.freedesktop.org/releases
ftp://ftp.gnu.org/pub/gnu/sed
1.1 Minimal SYStem (MSYS) installation
======================================
http://prdownloads.sourceforge.net/mingw/MSYS-1.0.11-2004.04.30-1.exe
Perform a basic installation into C:\msys
Do not continue with the post install (this will be done later).
1.2 Update MSYS
===============
Update MSYS to a more recent version
http://prdownloads.sourceforge.net/mingw/MSYS-1.0.11-20060807.tar.bz2
Extract the .tar.bz2 file, it contains the following files:
mount.exe, msys-1.0.dll and ps.exe
Copy the files to:
C:\msys\bin
This will overwrite/update the version(s) used in MSYS.
1.3 MSYS DTK (Developer Tool Kit)
=================================
http://prdownloads.sourceforge.net/mingw/msysDTK-1.0.1.exe
Perform a basic installation into C:\msys
1.4 Updating BASH
=================
http://prdownloads.sourceforge.net/mingw/bash-3.1-MSYS-1.0.11-snapshot.tar.bz2
Extract the .tar.bz2 file, in the bin subfolder it contains the following files:
bash.exe and sh.exe
Copy the files to:
C:\msys\bin
This will overwrite/update the sh.exe version used in MSYS
1.5 MinGW
=========
http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe
Select the download and install option.
Do not install with "Current" MinGW packages but select "Candidate".
Select the following components to install:
- MinGW base tools (autoselected)
- g++ compiler
Perform the installation into the default destination:
C:\msys\mingw
The following versions (or possibly newer) of the candidate packages will be
downloaded and installed:
mingw-runtime-3.10.tar.gz
w32api-3.7.tar.gz
binutils-2.16.91-20060119-1.tar.gz
gcc-core-3.4.5-20060117-1.tar.gz
gcc-g++-3.4.5-20060117-1.tar.gz
(It is also possible to get these packages seperately and extract them to C:\msys\mingw)
1.6 Configuring fstab
=====================
The folder C:\msys\etc contains the following file:
fstab.sample
Copy the file to:
fstab
Open the file with a text editor and change the path value for the mingw mount
point from:
c:/mingw to c:/msys/mingw
Save the file.
1.7 Starting MSYS
=================
The first time MSYS is started, a "home" folder is created, for example:
C:\msys\home\Administrator
2.0 Installing additional packages
==================================
The following packages are required for building VLC
1. Wget
2. Iconv
3. Gettext
4. MinGW utils
5. Libtool
6. Autoconf
7. Automake
8. Zip
9. Coreutils
2.1 WGet
========
Wget is required for building from the "extras/contrib" or mingwPORT packages.
http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2
Although this is a mingwPORT package it already has a precompiled wget on board.
Extract the .tar.bz2 file. It contains the following file in the bin subfolder:
wget.exe
Copy the file to:
C:\msys\mingw\bin
2.2 Iconv (GNU libiconv)
========================
http://prdownloads.sourceforge.net/mingw/libiconv-1.10-mingwPORT.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\Administrator
Start the MSYS shell and do the following commands:
cd libiconv-1.10-mingwPORT/libiconv-1.10/mingwPORT
mkdir -p /usr/src/libiconv-1.10
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into c:/msys/mingw/lib.
2.3 Gettext
===========
http://prdownloads.sourceforge.net/mingw/gettext-0.11.5-2003.02.01-1.exe
Perform a basic installation into the default destination Folder
C:\msys\mingw
2.4 MinGW Utils
===============
The unix2dos tool from this package is required during the "make package"
process of VLC for some conversion of txt files.
http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz
Extract the .tar.gz file. it contains the following file in the bin subfolder:
unix2dos.exe
Copy the file to:
C:\msys\mingw\bin
2.5 Libtool
===========
http://prdownloads.sourceforge.net/mingw/libtool-1.5.22-mingwPORT.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\Administrator
Start the MSYS shell and do the following commands:
cd libtool-1.5.22-mingwPORT/libtool-1.5.22/mingwPORT
mkdir -p /usr/src/libtool-1.5.22
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into c:/msys/mingw/lib.
2.6 Autoconf
============
http://prdownloads.sourceforge.net/mingw/autoconf-2.59-mingwPORT.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\Administrator
Start the MSYS shell and do the following commands:
cd autoconf-2.59-mingwPORT/autoconf-2.59/mingwPORT
mkdir -p /usr/src/autoconf-2.59
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into c:/msys/mingw/lib.
2.6.1 Updating autoconf from contrib
====================================
VLC 0.8.6 and later (including 0.9.0 svn/development) require an autoconf version
of 2.60 or greater.
If during the configure process the following msg appears it's time to update:
"Hey, your autoconf is quite old. Update it".
Open your MSYS shell:
cd vlc-trunk/extras/contrib
./bootstrap
cd src
make .autoconf
2.7 Automake
============
http://prdownloads.sourceforge.net/mingw/automake-1.9.5-mingwPORT.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\Administrator
Start the MSYS shell and do the following commands:
cd automake-1.9.5-mingwPORT/automake-1.9.5/mingwPORT
mkdir -p /usr/src/automake-1.9.5
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into c:/msys/mingw/lib.
2.8 Zip
=======
Zip is required for making .zip packages...
http://www.info-zip.org/
ftp://ftp.info-zip.org/pub/infozip/WIN32/zip232xN.zip
Extract the .zip. It contains the following file in the bin subfolder:
zip.exe
Copy the file to:
C:\msys\bin
2.9 Coreutils
=============
The whoami tool from this package is required for "svn builds".
http://prdownloads.sourceforge.net/mingw/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
Extract the .tar.bz2 file. it contains the following file in the bin subfolder:
whoami.exe
Copy the file to:
C:\msys\mingw\bin
3.0 Optional packages
=====================
The following packages are optional
1. GDB
2. Zlib
3. SDL
4. Nasm
3.1 GDB
=======
GDB is used for debugging purposes.
http://prdownloads.sourceforge.net/mingw/gdb-6.3-2.exe
Perform an installation into the folder
C:\msys\mingw
3.2 ZLib
========
Zlib is a required package in combination with the Gpac package for .avs and
.mp4 output support when building the x264 library.
http://prdownloads.sourceforge.net/mingw/zlib-1.2.3-mingwPORT-1.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\Administrator
Start the MSYS shell and do the following commands:
cd zlib-1.2.3-mingwPORT/zlib-1.2.3/mingwPORT
mkdir -p /usr/src/zlib-1.2.3
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into c:/msys/mingw.
3.3 Updating SDL from mingwPORT
===============================
SDL support is required when building ffplay from the FFmpeg package.
http://prdownloads.sourceforge.net/mingw/SDL-1.2.8-mingwPORT.tar.bz2
Extract the .tar.bz2 file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\SDL-1.2.8-mingwPORT
Start the MSYS shell and do the following commands:
cd SDL-1.2.8-minwPORT/SDL-1.2.8/mingwPORT
mkdir -p /usr/src/SDL-1.2.8
./mingwPORT.sh
Follow the default installation.
If all went well all the appropriate libraries should be installed/built
and placed into /usr/local/lib.
3.3.1 Updating SDL
==================
http://www.libsdl.org/release/SDL-1.2.11.tar.gz
Extract the .tar.gz file. Copy the contents into your home folder in MSYS
example:
C:\msys\home\SDL-1.2.11
Start the MSYS shell and do the following commands:
cd SDL-1.2.11
./configure
make
make install
If all went well all the appropriate libraries should be installed/built
and placed into /usr/local/lib.
3.4 Nasm
========
The Netwide assembler (nasm) is required for building the x264 library.
http://sourceforge.net/project/showfiles.php?group_id=6208
Download the latest win32 binaries:
http://prdownloads.sourceforge.net/nasm/nasm-0.98.39-win32.zip?download
Extract the .zip. It contains the following file in the bin subfolder:
nasmw.exe
Rename the file to nasm.exe and copy it to the following location:
C:\msys\mingw\bin
4. Troubleshooting
==================
Various issues..
4.1 Make .qt4 from extras/contrib
=================================
Fails on:
checking for libmpeg2.a in /home/Administrator/vlc-trunk/./extras/contrib/src/mpeg2dec... no
configure: error: cannot cd to /home/Administrator/vlc-trunk/./extras/contrib/src/mpeg2dec
Workaround: configure with --without-contrib
4.2 Make package-win32-zip
==========================
Fails on:
sed -i 's%share/osdmenu%osdmenu%g' ./vlc-0.9.0-svn/osdmenu/*.cfg
sed: invalid option -- i
Workaround: compile sed 4.09 (any newer versions fail to compile on missing alloca)
ftp://ftp.gnu.org/pub/gnu/sed/sed-4.0.9.tar.gz
use the newer sed version in c:\msys\mingw\bin and rename the old one to sed3.exe or something
ONLY use the 4.09 sed to do a make package-win32-zip, it will fail to compile VLC source
(so after it finishes, you have to copy the old version back again).
So in conclusion:
make package-win32-zip fails with sed 3.02 on -i
make autoconf fails with sed 4.09 on -E
sed 4.10+ requires glib
glib requires pkgconfig but pkgconfig requires glib?!
4.3 Warnings during configure
=============================
Using contrib from 20061015 still a lot of warnings during configure:
checking dynamic linker characteristics... ./configure: line 14697: f77: command not found
./configure: line 14825: f77: command not found
configure: WARNING: libshout library not found
configure: WARNING: MusicBrainz library not found
configure: WARNING: CD Reading and information library not found
configure: WARNING: VCD information library not found
configure: WARNING: new enough libcddb not found. CDDB access disabled
checking for mpcdec/mpcdec.h... yes
configure: WARNING: only static linking is available, you must provide a gme-tree
./configure: line 54814: --exists: command not found
Warning: No config found to match: /usr/win32/bin/wx-config --unicode
in /usr/win32/lib/wx/config
If you require this configuration, please install the desired
library build. If this is part of an automated configuration
test and no other errors occur, you may safely ignore it.
You may use wx-config --list to see all configs available in
the default prefix.
configure: WARNING: Probe disc disabled because ok libcdio library not found
configure: WARNING: VCD information on Probe disc disabled because ok libvcdinfo not found
configure: WARNING: QT4 library not found
configure: WARNING: DAAP library not found
configure: WARNING: avahi-client library not found
4.4 Can not write to output file with unix2dos
==============================================
unix2dos: converting file ./vlc-0.9.0-svn/AUTHORS.txt to DOS format ...
unix2dos: can not write to output file
unix2dos: problems converting file ./vlc-0.9.0-svn/AUTHORS.txt
unix2dos: converting file ./vlc-0.9.0-svn/MAINTAINERS.txt to DOS format ...
unix2dos: converting file ./vlc-0.9.0-svn/THANKS.txt to DOS format ...
unix2dos: can not write to output file
TODO
====
http://pkgconfig.freedesktop.org/releases/pkg-config-0.21.tar.gz
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment