Installation on Windows
|Revision as of 18:09, 3 March 2007
Pingi (Talk | contribs)
GNUstep .exe installer using Nullsoft's [http://nsis.sourceforge.net/Main_Page NSIS]
← Previous diff
|Revision as of 22:56, 7 June 2010
Fedor (Talk | contribs)
Some troubleshooting help
Next diff →
|Line 1:||Line 1:|
|+||= Binary installer =|
|+||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 ==|
|+||* 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|
|+||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:|
|+||svn co svn://svn.gna.org/svn/gnustep/modules/usr-apps/examples|
|+||alternatively download the gnustep-example package from [ftp://ftp.gnustep.org/pub/gnustep/core/ here] and unpack with <code>tar zxf gnustep-examples-1.1.0.tar.gz</code>. To compile/run an example type:|
|+||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) 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 47:||Line 74:|
|make install||make install|
|-||<!---== Setup your GNUstep environment ==|
|-||Also, set HOMEPATH, HOMEDRIVE and HOME ... add the following lines to your ~/.profile:|
|-||(obviously replacing 'Nicola' with your Login name) (not sure if this setting of HOMEDRIVE etc is really required, will investigate)|
|== Install the ObjC runtime ==||== Install the ObjC runtime ==|
|Line 78:||Line 94:|
|== Reinstall GNUstep make (with ObjC this time) ==||== Reinstall GNUstep make (with ObjC this time) ==|
|-||go in core/make and reconfigure/recompile again so that gnustep-objc is detected:||+||Enter the core/make directory and reconfigure/recompile again so that gnustep-objc is detected:|
|cd ~/install/gnustep/core/make||cd ~/install/gnustep/core/make|
|make distclean||make distclean|
|Line 135:||Line 151:|
|== Install XML support ==||== Install XML support ==|
|-||<!---You will have to make some changes to libiconv for libxml to work properly.|
|-||mv libiconv.la backup-libiconv|
|-||mv libiconv.lib backup-libiconv|
|-||dlltool -D libiconv-2.dll -C -l libiconvlib --export-all-symbols -A ../bin/libiconv-2.dll|
|-||If there are no errors:|
|-||rm -r backup-libiconv|
|-||I had to compile libiconv from source for this to work (the binaries didn't work with my computer for some reason, and I'm not sure if it normally works.)|
|Download the latest version of libxml from [ftp://xmlsoft.org/libxml2/].||Download the latest version of libxml from [ftp://xmlsoft.org/libxml2/].|
|-||There is a chunk of code in this file you will have to change.|
|-||Windows platform with GNU compiler|
|-||in the code. Replace the code below it up to the comment about Cygwin:|
|-||#if defined(_WIN32) && defined(__MINGW32__)|
|-||#define XMLPUBFUN __declspec(dllexport)|
|-||#define XMLPUBVAR __declspec(dllexport) extern|
|-||#define XMLPUBVAR __declspec(dllimport) extern|
|-||#define XMLPUBVAR extern|
|-||#define XMLCALL __cdecl|
|-||#if !defined _REENTRANT|
|-||Save the file, then quit. Then compile normally.|
|make install||make install|
|-||<!---I never installed to the end with this method (halfway through I just decided to use the installer) but it worked well for me.--->||+|
|+||<p style="color:red; background-color:yellow;">Do not install libxslt. It is broken on Windows.</p>|
|== Install GNUstep base ==||== Install GNUstep base ==|
|-||go in gnustep-base, and type||+||Enter the gnustep-base directory, and type|
|cd ~/install/gnustep/core/base||cd ~/install/gnustep/core/base|
|Line 200:||Line 168:|
|If you didn't install libxml,||If you didn't install libxml,|
|./configure --disable-xml||./configure --disable-xml|
|Line 251:||Line 218:|
|''based on a mail from Nicola Pero''||''based on a mail from Nicola Pero''|
|-||= GNUstep .exe installer using Nullsoft's [http://nsis.sourceforge.net/Main_Page NSIS] =|
|-||Using the binary installer is the easiest way to the GNUstep developement libraries to your PC. Unfortunately the releases are very sporadic.|
|-||== install instruction ==|
|-||* Download [ftp://ftp.gnustep.org/pub/gnustep/binaries/windows gnustep installer] and run it.|
|-||* 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 Developement and begin programming. To start you could download the gnustep examples package.|
|-||"openapp GSTest.app" will bring up a screen with GNUstep interface.|
|= GNUstep MSI installer created by [http://wix.sourceforge.net/ WiX] =||= GNUstep MSI installer created by [http://wix.sourceforge.net/ WiX] =|
|Line 272:||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 324:||Line 281:|
|=== Checkout gnustep.wxs ===||=== Checkout gnustep.wxs ===|
|=== overview of gnustep.wxs ===||=== overview of gnustep.wxs ===|
Revision as of 22:56, 7 June 2010
- 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!
- 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.
(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)
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.
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).
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.
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
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:
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:
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
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.
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>
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.