Installation on Windows

From GNUstepWiki

(Difference between revisions)
Revision as of 13:34, 3 March 2007
Pingi (Talk | contribs)
Install MinGW - direct link to mingw
← Previous diff
Revision as of 13:58, 3 March 2007
Pingi (Talk | contribs)
Install MinGW
Next diff →
Line 2: Line 2:
== Install MinGW == == Install MinGW ==
-Download [ MinGW] from Install it into <tt>C:\''xxx''\msys\1.0\mingw</tt>+Download [ MinGW] (MinGW-5.1.3.exe or later) from Install it into <tt>C:\''xxx''\msys\1.0\mingw</tt>
-(where ''xxx'' is the top-level path you want to use, I use Nicola/GNUstep so I install it into <tt>C:\Nicola\GNUstep\msys\1.0\mingw</tt>) (earlier versions of MinGW won't work)+(where ''xxx'' is the top-level path you want to use, I use Nicola/GNUstep so I install it into <tt>C:\Nicola\GNUstep\msys\1.0\mingw</tt>)
== Install msys == == Install msys ==

Revision as of 13:58, 3 March 2007


Install Windows GNUstep Manually

Install MinGW

Download MinGW (MinGW-5.1.3.exe or later) from Install it into C:\xxx\msys\1.0\mingw

(where xxx is the top-level path you want to use, I use Nicola/GNUstep so I install it into C:\Nicola\GNUstep\msys\1.0\mingw)

Install msys

Download MSYS-1.0.10 or later from the same site. Install it into C:/xxx/msys/1.0 The postinstall script should ask you for the mingw location, then detect it and be happy that it's there and all is setup properly.

Install msys developer toolkit

Download msysDTK-1.0.1 or later from the same site. Install it into 'C:/xxx/msys/1.0'

Now your MSYS/MinGW system should be setup! Go around and make sure you know how to use the Unix-like shell. Log into it and work in it.

Download gnustep

Via subversion

If you have a copy of SVN ( installed on your system and want to have the most up-to-date version just being worked on, do the following.

In windows, go to 'Start -> All Programs -> mingw -> MSYS ->Msys'. The MINGW32 window appears.

Type the following:

mkdir install
cd install
svn co svn://

This will download the core GNUstep libraries (make, base, gui and back).

Release tarball

Otherwise download from the main site (or the file gnustep-startup-x.yy.z.tar.gz. It contains the core libraries. Put it somewhere in your MSYS home folder, i.e. under C:\xxx\msys\1.0\home\Nicola\install

To unpack the file type the following into the MSYS window

cd ~/install   #or where you put it
tar zxf gnustep-startup-0.16.1.tar.gz

After these steps you have the most recent installation instructions in the file 'core/make/Documentation/README.MinGW'

Install GNUstep make

cd gnustep/core/make
./configure --with-layout=fhs
make install

Install the ObjC runtime

Actually, recent versions of gcc (3.2+) have a working libobjc on Windows. Nevertheless this step is necessary unless you want some strange errors concerning NSAutoreleasePool etc.

First make sure to delete the old libobjc files

rm -Rf /mingw/lib/gcc/mingw32/3.4.2/include/objc
rm -Rf /mingw/lib/libobjc.a
rm -Rf /mingw/lib/

Then get GNUstep's libobjc and install it.

svn co svn://
cd libobjc 
make install

If you don't use SVN, download gnustep-libobjc from

Reinstall GNUstep make (with ObjC this time)

go in core/make and reconfigure/recompile again so that gnustep-objc is detected:

cd ~/install/gnustep/core/make
make distclean
./configure --with-layout=fhs
make install

gnustep-make should have detected your custom libobjc.

Install ffcall

Download ffcall from the GNUstep website into c:/xxx/msys/1.0/home/Nicola/install or from here:, and type:

cd ~/install
tar -zxvf ffcall-1.10.tar.gz
cd ffcall-1.10

A windows prompt may appear (several times) stating that conftest.exe has encountered a problem and needs to close. Click the [Don't Send] button.

After much output, the following will be displayed:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Type the following:

make install

Note: The configure script of ffcall-1.10 is broken for Windows 2000. You have to apply a patch:

Precompiled library

Alternatively, a zip containing a precompiled copy of ffcall-1.9 is availabe here:

Unzip it into $GNUSTEP_SYSTEM_ROOT/Library.

Install additional libs

Download the following packages:

Download libintl

Download libiconv

Download zlib

from, and install them. To install them, simply unzip them into '/C/xxx/msys/1.0/mingw'.

Install XML support

Download the latest version of libxml from

make install

Install GNUstep base

go in gnustep-base, and type

cd ~/install/gnustep/core/base
make install

If you didn't install libxml,

./configure --disable-xml
make install

Install additional GUI libs

for the gui, download and install the following packages:

Download jpeg

Download tiff

Download libpng

The process is always the same: download the zip file from the gnuwin32 website, then unzip them into '/C/xxx/msys/1.0/mingw'.

Install GNUstep gui

Type the following:

 cd ~/install/gnustep/core/gui
 make install

Install GNUstep back

cd to core/back and type:

 make install

Check the installation

go in a simple gui application (examples/gui a very good starting point), compile and run it. :-)

Some older makefiles may require that you type

export GNUSTEP_MAKEFILES=/usr/local/share/GNUstep/Makefiles

before compiling.

based on a mail from Nicola Pero

GNUstep .exe installer using Nullsoft's NSIS

install instruction

There are three versions of exe installer for gnustep.

  • Download and compile gnustep examples tar ball.
  • "openapp" will bring up a screen with GNUstep interface.

GNUstep MSI installer created by WiX

There are three sub packages

  • user : To minimize the footprint of gnustep system on Windows machines.
  • developer : include WiX,gcc and package sources.
  • gnustep applications : include a broad suite of GNUstep applications.

Install GNUstep MSI installer

  • Download the msi from here.
  • answer following questions.
  • Test the installation.

Prepare your gnustep win32 development environment

List of depended software

  • WiX Win32 MSI package creation tool.
    • candle.exe
Microsoft (R) Windows Installer Xml Compiler version 2.0.4221.0
Copyright (C) Microsoft Corporation 2003. All rights reserved.

 usage:  candle.exe [-?] [-nologo] [-out outputFile] sourceFile [sourceFile ...]

   -d<name>=<value>  define a parameter for the preprocessor
   -p<file>  preprocess to a file (or stdout if no file supplied)
   -I<dir>  add to include search path
   -nologo  skip printing candle logo information
   -out     specify output file (default: write to current directory)
   -pedantic:<level>  pedantic checks (levels: easy, heroic, legendary)


For more information see:

    • light.exe
Microsoft (R) Windows Installer Xml Linker version 2.0.4221.0
Copyright (C) Microsoft Corporation 2003. All rights reserved.

 usage:  light.exe [-?] [-b basePath] [-nologo] [-out outputFile] objectFile [o
jectFile ...]

   -ai        allow identical rows, identical rows will be treated as a warning
   -au        (experimental) allow unresolved references, will not create a val
d output
   -b         base path to locate all files (default: current directory)
   -cc        path to cache built cabinets (will not be deleted after linking)


For more information see:

  • makefile for nmake.
  • gcc win32 compiler from MingW.

Checkout gnustep.wxs

overview of gnustep.wxs