Installation on Windows
Binary installer
Using the binary installer (created using Nullsoft's NSIS) is the easiest way to get the GNUstep development libraries to your PC.
Install instructions
- Download installers from the ftp site (i.e. gnustep-msys-system-0.X.X-setup.exe + gnustep-core-0.X.X-setup.exe) and run them.
- Also download gnustel-devel-X.X.X-setup.exe if you want to compile applications.
- select install binaries
Now you have an MSYS environment (minimal GNU with shell and basic programs). You can start the shell via "Start → Programs → GNUstep → Shell" and begin programming.
To start you could download the gnustep examples package:
svn co svn://svn.gna.org/svn/gnustep/modules/usr-apps/examples
alternatively download the gnustep-example package from here and unpack with tar zxf gnustep-examples-1.3.0.tar.gz
. To compile/run an example type:
cd examples/gui/GSTest make openapp ./GSTest.app
Have much fun!
Installer Troubleshooting
- I installed gnustep-msys-system and tried to start Shell, but nothing happened (or I got an error).
There could be a number of issues here
- Try to reinstall (uninstall gnustep-msys-system and install again)
- Do you have a previous CYGWIN install? Remove it and any CYGWIN environment variable
- You might need to rebase the msys.dll. Instructions coming soon...
Install Windows GNUstep Manually
Building and installing GNUstep on windows is a "lengthy but painless process." Below is the detailed recipe.
Install MinGW
Download MinGW (MinGW-5.1.3.exe or later) (cygwin works with a little tweaking; see talk page) from http://sourceforge.net/projects/mingw 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 (http://subversion.tigris.org/) 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://svn.gna.org/svn/gnustep/modules/core
This will download the core GNUstep libraries (make, base, gui and back).
Release tarball
Otherwise download from the main site http://www.gnustep.org (or ftp://ftp.gnustep.org/pub/gnustep/core/) 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 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/libobjc.la
Then get GNUstep's libobjc and install it.
svn co svn://svn.gna.org/svn/gnustep/modules/dev-libs/libobjc cd libobjc make make install
If you don't use SVN, download gnustep-libobjc from ftp://ftp.gnustep.org/pub/gnustep/libs/
Reinstall GNUstep make (with ObjC this time)
Enter the core/make directory and reconfigure/recompile again so that gnustep-objc is detected:
cd ~/install/gnustep/core/make make distclean ./configure --with-layout=fhs make 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: ftp://ftp.santafe.edu/pub/gnu/ffcall-1.10.tar.gz, and type:
cd ~/install tar -zxvf ffcall-1.10.tar.gz cd ffcall-1.10 ./configure
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 make install
Note: The configure script of ffcall-1.10 is broken for Windows 2000. You have to apply a patch: http://lists.gnu.org/archive/html/discuss-gnustep/2005-03/msg00258.html
Precompiled library
Alternatively, a zip containing a precompiled copy of ffcall-1.9 is availabe here: ftp://ftp.gnustep.org/pub/gnustep/binaries/windows/mingw-libs/ffcall-1.9-gnustep.zip
Unzip it into $GNUSTEP_SYSTEM_ROOT/Library.
Install additional libs
Download the following packages:
- libintl-0.11.5-2-bin.zip
- libintl-0.11.5-2-lib.zip
- libiconv-1.9.2-1-bin.zip
- libiconv-1.9.2-1-lib.zip
- zlib-1.2.2-bin.zip
- zlib-1.2.2-lib.zip
from http://gnuwin32.sourceforge.net, 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 [1].
./configure make make install
Do not install libxslt. It is broken on Windows.
Install GNUstep base
Enter the gnustep-base directory, and type
cd ~/install/gnustep/core/base ./configure make make install
If you didn't install libxml,
./configure --disable-xml make make install
Install additional GUI libs
for the gui, download and install the following packages:
- jpeg-6b-3-bin.zip
- jpeg-6b-3-dep.zip
- jpeg-6b-3-lib.zip
- tiff-3.7.1-bin.zip
- tiff-3.7.1-dep.zip
- tiff-3.7.1-lib.zip
- libpng-1.2.8-bin.zip
- libpng-1.2.8-dep.zip
- libpng-1.2.8-lib.zip
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 ./configure make make install
Install GNUstep back
cd to core/back and type:
./configure make 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 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 Win32 gnustep WiX packaging environment
List of depended software
- WiX Win32 MSI package creation tool.
- candle.exe
C:\tmp>candle 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) <snip> For more information see: http://wix.sourceforge.net C:\tmp>
- light.exe
C:\tmp>light 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) <snip> For more information see: http://wix.sourceforge.net C:\tmp>
- makefile for nmake.
- gcc win32 compiler from MingW.