Difference between revisions of "Installation on Windows"
m (→Install GNUstep make: formatting) |
|||
(86 intermediate revisions by 9 users not shown) | |||
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.3.0.tar.gz</code>. To compile/run an example type: | ||
+ | cd examples/gui/GSTest | ||
+ | make | ||
+ | openapp ./GSTest.app | ||
+ | </small> | ||
+ | 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 == | == Install MinGW == | ||
− | Download MinGW- | + | 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 | + | (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 == | ||
− | Download MSYS-1.0.10 or later from the same site. Install it into C: | + | Download MSYS-1.0.10 or later from the same site. Install it into <tt>C:\''xxx''\msys\1.0</tt> |
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. | 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 == | == Install msys developer toolkit == | ||
− | Download msysDTK-1.0.1 or later from the same site. Install it into | + | Download msysDTK-1.0.1 or later from the same site. Install it into <tt>C:\''xxx''\msys\1.0</tt> |
− | |||
− | |||
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. | 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 | + | == 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 | + | In windows, go to 'Start → All Programs → mingw → MSYS → Msys'. |
− | |||
The MINGW32 window appears. | The MINGW32 window appears. | ||
Line 28: | Line 54: | ||
mkdir install | mkdir install | ||
cd 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 | |
− | It | ||
− | + | 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 | ||
− | + | <p style="color:red; background-color:yellow;">After these steps you have the most recent installation instructions in the file 'core/make/Documentation/README.MinGW'</p> | |
− | |||
− | |||
− | |||
− | == | + | == Install GNUstep make == |
− | + | cd gnustep/core/make | |
− | + | ./configure --with-layout=fhs | |
− | + | make | |
− | + | make install | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Install the ObjC runtime == | == Install the ObjC runtime == | ||
− | Actually, recent versions of gcc (3.2+) have a working libobjc on Windows. Nevertheless this step is necessary | + | 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 | 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 | ||
make install | 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) == | == 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 | cd ~/install/gnustep/core/make | ||
make distclean | make distclean | ||
− | ./configure | + | ./configure --with-layout=fhs |
make | make | ||
make install | make install | ||
Line 93: | Line 108: | ||
or from here: ftp://ftp.santafe.edu/pub/gnu/ffcall-1.10.tar.gz, | or from here: ftp://ftp.santafe.edu/pub/gnu/ffcall-1.10.tar.gz, | ||
and type: | and type: | ||
− | |||
cd ~/install | cd ~/install | ||
tar -zxvf ffcall-1.10.tar.gz | tar -zxvf ffcall-1.10.tar.gz | ||
cd ffcall-1.10 | cd ffcall-1.10 | ||
− | ./configure | + | ./configure |
− | |||
− | Click the [Don't Send] button. | + | 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: | Type the following: | ||
− | |||
make | make | ||
make install | make install | ||
Line 123: | Line 126: | ||
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 | 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 | 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 | ||
Line 133: | Line 137: | ||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=73290 Download libintl] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=73290 Download libintl] | ||
− | + | :libintl-0.11.5-2-bin.zip | |
− | + | :libintl-0.11.5-2-lib.zip | |
− | |||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=17090 Download libiconv] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=17090 Download libiconv] | ||
− | + | :libiconv-1.9.2-1-bin.zip | |
− | + | :libiconv-1.9.2-1-lib.zip | |
− | |||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16861 Download zlib] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16861 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 <tt>C:\''xxx''\msys\1.0\mingw</tt>. | |
− | |||
− | from | + | == Install XML support == |
+ | Download the latest version of libxml from [ftp://xmlsoft.org/libxml2/]. | ||
− | + | ./configure | |
− | + | make | |
− | + | make install | |
− | + | <p style="color:red; background-color:yellow;">Do not install libxslt. It is broken on Windows.</p> | |
== Install GNUstep base == | == 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 | ./configure --disable-xml | ||
make | make | ||
Line 169: | Line 177: | ||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16348&release_id=218220 Download jpeg] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16348&release_id=218220 Download jpeg] | ||
− | + | :jpeg-6b-3-bin.zip | |
− | + | :jpeg-6b-3-dep.zip | |
− | + | :jpeg-6b-3-lib.zip | |
− | |||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16351 Download tiff] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16351 Download tiff] | ||
− | + | :tiff-3.7.1-bin.zip | |
− | + | :tiff-3.7.1-dep.zip | |
− | + | :tiff-3.7.1-lib.zip | |
− | |||
[http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16183 Download libpng] | [http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16183 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 <tt>C:''xxx''\msys\1.0\mingw</tt>. | |
− | |||
− | |||
− | |||
− | The process is always the same: download the zip file from the gnuwin32 website, then unzip them into | ||
− | |||
− | |||
== Install GNUstep gui == | == Install GNUstep gui == | ||
Line 200: | Line 203: | ||
== Install GNUstep back == | == Install GNUstep back == | ||
− | + | cd to core/back and type: | |
./configure | ./configure | ||
Line 209: | Line 212: | ||
go in a simple gui application (examples/gui a very good starting point), compile and run it. :-) | 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'' | ''based on a mail from Nicola Pero'' | ||
+ | |||
+ | = GNUstep MSI installer created by [http://wix.sourceforge.net/ 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 | ||
+ | <pre> | ||
+ | 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> | ||
+ | </pre> | ||
+ | |||
+ | ** light.exe | ||
+ | <pre> | ||
+ | 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> | ||
+ | </pre> | ||
+ | * makefile for nmake. | ||
+ | * gcc win32 compiler from MingW. | ||
+ | |||
+ | === Checkout gnustep.wxs === | ||
+ | === overview of gnustep.wxs === | ||
+ | |||
+ | [[Category:Microsoft Windows]] |
Latest revision as of 21:27, 9 December 2013
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.