Installation on Windows

From GNUstepWiki

(Difference between revisions)
Revision as of 13:15, 3 March 2007
Pingi (Talk | contribs)
Release tarball - hint to readme file
← Previous diff
Revision as of 13:16, 3 March 2007
Pingi (Talk | contribs)
Install GNUstep base - argh! wrong paragraph!
Next diff →
Line 194: Line 194:
cd ~/install/gnustep/core/base cd ~/install/gnustep/core/base
- ./configure --with-layout=fhs+ ./configure
make make
make install make install
Line 200: Line 200:
If you didn't install libxml, If you didn't install libxml,
- ./configure --disable-xml --with-layout=fhs+ ./configure --disable-xml
make make
make install make install

Revision as of 13:16, 3 March 2007

Contents

Install Windows GNUstep Manually

Install MinGW

Download MinGW-3.2.0-rc-3 or later 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) (earlier versions of MinGW won't work)

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
make
make install

Setup your GNUstep environment

Also, set HOMEPATH, HOMEDRIVE and HOME ... add the following lines to your ~/.profile:

export HOMEDRIVE=C:
export HOMEPATH=/home/Nicola
export HOME=/C/xxx/msys/1.0/home/Nicola

(obviously replacing 'Nicola' with your Login name) (not sure if this setting of HOMEDRIVE etc is really required, will investigate)

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)

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

cd ~/install/gnustep/core/make
make distclean
./configure
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:

Download libintl

libintl-0.11.5-2-bin.zip
libintl-0.11.5-2-lib.zip

Download libiconv

libiconv-1.9.2-1-bin.zip
libiconv-1.9.2-1-lib.zip

Download zlib

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 ftp://xmlsoft.org/libxml2/.

./configure
make
make install

Install GNUstep base

go in gnustep-base, 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:

Download jpeg

jpeg-6b-3-bin.zip
jpeg-6b-3-dep.zip
jpeg-6b-3-lib.zip

Download tiff

tiff-3.7.1-bin.zip
tiff-3.7.1-dep.zip
tiff-3.7.1-lib.zip

Download libpng

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 .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 GSTest.app" 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
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.

Checkout gnustep.wxs

overview of gnustep.wxs