Installation on Windows

From GNUstepWiki

(Difference between revisions)
Revision as of 16:45, 28 November 2007
Madd the sane (Talk | contribs)
Install MinGW
← Previous diff
Revision as of 22:56, 7 June 2010
Fedor (Talk | contribs)
Some troubleshooting help
Next diff →
Line 1: Line 1:
-= GNUstep .exe installer using Nullsoft's [http://nsis.sourceforge.net/Main_Page NSIS] =+= Binary installer =
-Using the binary installer is the easiest way to get the GNUstep development libraries to your PC. Unfortunately the releases are very sporadic.+Using the binary [http://www.gnustep.org/experience/Windows.html installer] (created using Nullsoft's [http://nsis.sourceforge.net/Main_Page NSIS]) is the easiest way to get the GNUstep development libraries to your PC.
== Install instructions == == Install instructions ==
-* Download [ftp://ftp.gnustep.org/pub/gnustep/binaries/windows gnustep installer] and run it.+* Download installers from [ftp://ftp.gnustep.org/pub/gnustep/binaries/windows 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 * 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 Development → MSYS for GNUstep" and begin programming.+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.
<small>To start you could download the gnustep examples package: <small>To start you could download the gnustep examples package:
Line 15: Line 16:
</small> </small>
Have much fun! 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 = = Install Windows GNUstep Manually =
 +Building and installing GNUstep on windows is a "lengthy but painless process." Below is the detailed recipe.
== Install MinGW == == Install MinGW ==
-Download [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82721 MinGW] (MinGW-5.1.3.exe or later) (cygwin doesn't work; see talk page) from http://sourceforge.net/projects/mingw Install it into <tt>C:\''xxx''\msys\1.0\mingw</tt>+Download [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82721 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 <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>) (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>)
Line 219: Line 229:
* answer following questions. * answer following questions.
* Test the installation. * Test the installation.
-== Prepare your gnustep win32 development environment ==+== Prepare your Win32 gnustep WiX packaging environment ==
=== List of depended software === === List of depended software ===
* WiX Win32 MSI package creation tool. * WiX Win32 MSI package creation tool.
Line 271: Line 281:
=== Checkout gnustep.wxs === === Checkout gnustep.wxs ===
=== overview of gnustep.wxs === === overview of gnustep.wxs ===
 +
 +[[Category:Microsoft Windows]]

Revision as of 22:56, 7 June 2010

Contents

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.1.0.tar.gz. To compile/run an example type:

cd examples/gui/GSTest
make
openapp ./GSTest.app

Have much fun!

Installer Troubleshooting

  1. 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:

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

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:

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 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.

Checkout gnustep.wxs

overview of gnustep.wxs