Dev:Mingw installation
Contents
MinGW
First - download MinGW installer. You may get version 5.1.3 or higher (recommended).
Run MinGW-5.1.4.exe. Select "Download and install". Choose "Candidate" package, because "Current" is too old. When the installer asks which packages to install, select:
- MinGW base tools
- g++ Compiler
- g77 Compiler
- MinGW Make
Note: you really do need to install Fortran; even though Synfig does not require it, it is required by the autoconf configuration scripts. These are the minimal required package versions which are needed to successfully build win32 synfig (version numbers from the 5.1.3 package):
- mingw-runtime-3.12.tar.gz (429.7 Kb)
- w32api-3.9.tar.gz (1.6 Mb)
- binutils-2.17.50-20060824-1.tar.gz (8.9 Mb)
- gcc-core-3.4.5-20060117-1.tar.gz (3.3 Mb)
- gcc-g++-3.4.5-20060117-1.tar.gz (4.5 Mb)
- gcc-g77-3.4.5-20060117-1.tar.gz (2.0 Mb)
- mingw32-make-3.81-2.tar.gz (95 Kb)
Confirm default installation path C:\MinGW
. If you install MinGW into another directory, synfig compilation may fail.
(instructions updated from version 5.1.3 to 5.1.4, but untested. please update the wiki if anything is broken with 5.1.4)
MSYS
Now download and install MSYS - a shell and tools kit.
Run MSYS-1.0.10.exe, confirm default installation path C:\msys\1.0
. Wait until installation completes. Then the installer opens a console and asks some questions.
This is a post install process that will try to normalize between
your MinGW install if any as well as your previous MSYS installs
if any. I don't have any traps as aborts will not hurt anything.
Do you wish to continue with the post install? [yn ]
Answer "y
" here.
Do you have MinGW installed? [yn ]
Answer "y
" here.
Please answer following the in the form of c:/foo/bar.
Where is your MinGW installation?
Answer "c:/mingw
".
The installer script prints some text and finally writes:
Oh joy, you do not have c:/mingw/bin/make.exe. Keep it that way.
It's OK. The first phase of installation is completed. Press any key.
MSYS Developer Toolkit
Download MSYS Developer Toolkit, which contain such required tools as autoconf, automake, libtool, perl, pkg-tools, etc. Unfortunately, many tools included in MSYS DTK is too old and we need update it manually later.
Run msysDTK-1.0.1.exe. Confirm your MSYS installation path C:\msys\1.0
. Nothing more. Installation will continue without any additional questions.
bash
The current bash version is not enough for Synfig building and neither is the new 2.05b version. It contains an error and you need to:
- Download 3.1 snapshot: * http://downloads.sourceforge.net/mingw/bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 (538.2 Kb)
- Make sure that all msys sessions are closed,
- then just decompress bash-3.1 directory from archive into
C:\msys\1.0
.
Also, you might want to edit C:\msys\1.0\msys.bat
file. If so, do the following:
Look into the string which contain | Find | Replace |
---|---|---|
MINGW32BGCOLOR=
|
{Any Color} |
Black
|
MINGW32FGCOLOR=
|
{Any Color} |
White
|
start rxvt -backspacekey
|
-fn Courier-12 |
-fn Courier-16
|
autoconf
As written before, some tool are too old for Synfig build. For example, since revision 547 synfig required autoconf and automake, included in MSYS DTK are not acceptible. And we need replace them by new version.
- Download new autoconf from: http://downloads.sourceforge.net/mingw/msys-autoconf-2.59.tar.bz2 (394.7 Kb)
- Decompress content of archive to
C:\msys\1.0
directory.
automake
- Download new automake from: http://downloads.sourceforge.net/mingw/msys-automake-1.8.2.tar.bz2 (304 Kb)
- Decompress content of archive to
C:\msys\1.0
directory.
libtool
In Synfig Core bootstrap file we can find that libtool prior to version 1.4.2 has an error in libltdl but msys has only 1.4e. I think - will be better to update it instead of patching.
- Download libtool 1.5 from: http://downloads.sourceforge.net/mingw/msys-libtool-1.5.tar.bz2 (411.3 Kb)
- Decompress content of archive to
C:\msys\1.0
directory.
Gettext
Starting from SVN 1143, Synfig offers support for internationalization (languages translations). For this, Gettext is needed.
- You'll need Cygwin project's gettext-devel package: http://ftp.yz.yamagata-u.ac.jp/pub/cygwin/release/gettext/gettext-devel/
- Unpack the archive so that everything is under
/usr/local
instead of/usr
.
Note: Any binaries that are not from the MinGW project (or not built specially for MSYS) cannot be placed in the /msys/1.0/bin
(/bin
and /usr/bin
inside MSYS) directory. You then need to:
- hack the
/usr/local/bin/autopoint
script so that prefix is defined as/usr/local
instead of/usr
. - Warning! Ugly hack follows
- Autopoint expects to find an
archive.tar.gz
inusr/share
, so copy gettext (found onusr/share/
on the archive) file structure to/usr/share
also.
- Autopoint expects to find an
Update: If you insist a MSYS-compatible gettext-devel, try: http://downloads.sourceforge.net/mingw/gettext-devel-0.16.1-MSYS-1.0.11-1.tar.bz2
- As of this post,
gettext-devel-0.16.1-MSYS
is being tested for problem-free Synfig compile.
Note: If you reload the GTK+ devel environment, make sure that you rename the autopoint script and gettext so that they don't conflict with the ones in msys. GTK\bin tends to show up first in the path, and those versions get picked by default.
mktemp
Synfig requires mktemp for building, but for some unknown reason this tool is not installed by default in MinGW.
- Download the MinGW implementation of this tool from: http://downloads.sourceforge.net/mingw/mktemp-1.5-MSYS.tar.bz2 (4 Kb)
- Decompress mktemp.exe from this archive to
C:\msys\1.0\bin
directory.
file
libtool requires the "file" tool to check filetypes of libraries.
- So we need to download it: http://downloads.sourceforge.net/mingw/file-4.16-MSYS-1.0.11-snapshot.tar.bz2 (236.2 Kb)
- Decompress content of directory file-4.16 from the archive to
C:\msys\1.0
.
cygpath emulation
As far as I read, Cygwin only supports paths like /C/somedir/somefile. MinGW can use native windows paths also. Cygwin has a special tool for this (and some another features). MinGW has not. But several Synfig configure scripts require this tool so it will be better to make it. Just save the following text as C:\msys\1.0\bin\cygpath
:
#!/bin/sh # A simple cygpath replacement until [ -z "$1" ] do if [ "${1:0:1}" != "-" ]; then echo $1 | sed -e 's/\\/\//g' -e 's/^\([a-zA-Z]\):/\/\1/g' fi shift done
png2ico
Early version of Synfig used pngtoico tool to produce icons from png files. Unfortunately this tool is broken now. You can see this for youeself by installing the official build of Synfig Studio 0.61.05. The latest versions of Synfig using another tool: png2ico. This tool is not perfect, but it works.
- Download it from: http://www.winterdrache.de/freeware/png2ico/data/png2ico-win-2002-12-08.zip (89.9 Kb)
- And decompress png2ico.exe file to
C:\msys\1.0\bin
directory.
Non MinGW packages
Subversion
Source code is now in GIT
Synfig source is stored in a subversion repository. You will need the svn client to get it. Also the svn client is required by the Synfig build scripts, to receive the revision number of the source. You can download the Windows subversion package from this page:
When I wrote this the latest version was 1.4.3:
But it is best to get the newest available version.
NSIS
NSIS is the Nullsoft Scriptable Install System, a free and open source installer for WinAmp, a popular windows music player. When I wrote this the latest version was 2.27:
You can use this or any newer version.
ImageMagick
When I wrote this the latest version was 6.3.4-10:
Note: The updated file has not been tested yet -- try here instead http://www.imagemagick.org/download/www/binary-releases.html#windows
ImageMagick is required to build Studio, also Core has an ImageMagick render target.
Gtk+/Gtkmm
GTK+
Go to this page and download the latest GTK+ devel package for windows:
^^ These links are broken :( Pixelgeek is researching alternate solutions
Though it's not yet tested, you can try either:
- http://downloads.sourceforge.net/gladewin32/gtk-dev-2.12.9-win32-2.exe (16.7 MB)
- http://downloads.sourceforge.net/gladewin32/gtk-dev-2.12.9-win32-1.exe (13,313 KB)
You need only install the following components:
- Gtk+ Runtime (required)
- Register Environment Variables
- Devel header/libraries
Confirm registration for environment: MSYS (C:\msys\1.0).
Install GTK+ to C:\GTK
.
GTKmm
Go to this page and download the latest GTKmm devel package for Windows:
If you opted for gtk-dev-2.12.9-win32-2.exe or gtk-dev-2.12.9-win32-1.exe pick this instead.
You need only install the following components (footnote 1):
- libsigc++
- cairomm
- glibmm
- gtkmm
- libxml++
(1) if you're using gtkmm-win32-devel-2.16.0-4.exe, then pangomm is a required component.
For each selected component you may keep only
- Runtime
- Development
subcategories. Install GTKmm to C:\GTK
.
Collision Resolution
If you have several Gtk-applications (f.e. InkScape), you can receive a strange errors, like "the procedure entry point XML_SetDoctypeDeclHandler could not be located in the dynamic link library xmlparse.dll". Thats mean you have an old version of this library in windows system32 directory, installed by another program. Just search and rename/delete this old library and all will work perfectly again.
Troubleshooting
Test whether MSYS can find MinGW by running:
$ gcc --version
If it replies command not found, MSYS can't see MinGW. In that case, you will need to edit the text file C:\msys\1.0\etc\fstab so that it includes the line:
c:/MinGW /mingw