Difference between revisions of "Installation Instructions"

From GNUstepWiki
Jump to navigation Jump to search
 
(Remove startup)
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Introduction =
+
It is often reported that users find GNUstep difficult to install. This may be a result of lacking information.
This document explains how to build the GNUstep core libraries. The core libraries, along with associated tools and other files provide everything necessary for a working GNUstep system.
 
  
In order to easily compile and debug GNUstep projects, you will need the GNU Objective-C compiler `GCC' as well as various other GNU packages.
+
== Platform specific installation information ==
 +
For information on how to install [[Dependencies]] or even GNUstep itself with your native packaging system, or about installation on exotic systems (like [[Windows]]), see
 +
<big>[[Platform compatibility]]</big>!
  
You will need at least 80Mb of hard disk space (150Mb prefered) in order to compile the GNUstep core libraries.
+
== Links ==
 
+
* [http://gnustep.made-it.com/BuildGuide/ Build-Guide for Unix-like systems] describes  installation and configuration step-by-step.
 
 
 
 
= Summary =
 
In order to compile the libraries, you need to compile and install the following packages first (if you don't already have them):
 
 
 
* GCC (Version 2.95 or greater, 3.0.4 or greater recommended);
 
New versions of GCC (4.x and later) allow mixing of Objective-C and C++ code, useful for advanced frameworks.
 
* GNU make (Version 3.75 or greater);
 
* GDB (Version 6.0 or greater recommended), if you plan to do any debugging.
 
 
 
You may also need to install some of the following libraries and packages described below. Most of these packages are optional, but some are required.
 
 
 
'ffcall libraries (HIGHLY RECOMMENDED)'
 
::This is a library that provides stack-frame handling for NSInvocation and NSConnection. This library is highly recommended. The previous builtin method for stack frame handling is no longer supported and may be removed in the future. ffcall is under GNU GPL. As a special exception, if used in GNUstep or in derivate works of GNUstep, the included parts of ffcall are under GNU LGPL.
 
 
 
'libffi library (ALTERNATIVE RECOMMENDATION)'
 
::This is a library that provides stack frame handling for NSInvocation and NSConnection similar to ffcall. Use this instead of ffcall. You don't need both.
 
 
 
'libxml2 (RECOMMENDED)'
 
::The libxml library (Version 2) is used to translate some of the documentation for GNUstep and to provide suport for MacOS-X compatible XML-based property-lists. It is not required, but you have to explicitly disable use of XML when compiling GNUstep base if you do not have it.
 
 
 
'libxslt (OPTIONAL)'
 
::Stylesheet support for use with XML.
 
 
 
'openssl (OPTIONAL)'
 
::The openssl library is used to provide support for https connections by the NSURL and HSURLHandle classes. This functionality is compiled as a separate bundle since the OpenSSL license is not compatible with GPL, and in the hopes that if someone writes an openssl replacement, it can quickly be used by creating another bundle.
 
 
 
'libiconv (OPTIONAL)'
 
::Note: Do not install this library unless you are sure you need it. You probably don't need it except perhaps on MinGW. Unicode support functions (iconv) come with glibc version 2.1 or greater. If you don't have glibc (try iconv --version), you can get the separate libiconv library from http://clisp.cons.org/~haible/packages-libiconv.html. However, neither one is required to use GNUstep.
 
 
 
'The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
 
::The GUI library uses this to handle loading and saving TIFF images.
 
 
 
'The JPEG library (libjpeg) (RECOMMENDED)'
 
::The GUI library uses this to handle loading JPEG images.
 
 
 
'The PNG library (libpng) (RECOMMENDED)'
 
::The GUI library uses this to handle loading PNG images.
 
 
 
'gif or ungif (OPTIONAL)'
 
::The GUI library uses either one of these libraries to load GIF images.
 
 
 
'aspell (OPTIONAL)'
 
::The GUI library uses this to handle spell checking.
 
 
 
'cups (OPTIONAL)'
 
::The GUI library uses this to handle interface to the CUPS print servers.
 
 
 
'audiofile (OPTIONAL)'
 
::The GUI library uses this for playing sound files.
 
 
 
'portaudio (OPTIONAL)'
 
::The GUI library uses this for the sound server. Use v19, which has several API changes since the previous version. v19 hasn't actually been formally released, but several distributions (SuSE, etc) use it anyway.
 
 
 
'freetype2 (RECOMMENDED, REQUIRED for art backend)'
 
::This is used for font information. Freetype2 cache API is in flux. GNUstep tries to account for this, but if you get errors about undefined FTC_ symbols, you might be using an unsupported version of freetype.
 
 
 
'libart_lgpl2 (REQUIRED for art backend only)'
 
::Drawing library for the art backend.
 
 
 
'WindowMaker (Version >= 0.62) (OPTIONAL)'
 
::GNUstep and WindowMaker work together to provide a consistant interface. Although it is not required, GNUstep will work much better if you use it with the WindowMaker window manager. Get WindowMaker from http://www.windowmaker.info.
 
 
 
'gnustep-objc package (for gcc version < 3.0 ONLY or MINGW/Cygwin) (RECOMMENDED)'
 
::Note: Do not install this library unless you are sure you need it. You probably don't need it except on MinGW and Cygwin (regardless of the gcc version you have). This is a special version of the Objective-C runtime that include several bug fixes and features that were not in gcc versions previous to 3.0. It is available at ftp://ftp.gnustep.org/pub/gnustep/libs which compiles using the GNUstep Makefile package (so you don't have to get the entire gcc dist). Make sure to set the THREADING variable in the GNUmakefile. It's possible to compile the library static (make shared=no) and just copy to the place where the gcc libobjc library is (type gcc -v to get this location). Note you have to install gnustep-make (below) before installing this library.
 
 
 
'GDB (OPTIONAL)'
 
::GDB can be obtained from ftp://ftp.gnu.org/gnu/gdb. As of release 6.0, gdb has special support for debugging Objective-C programs.
 
'TeX (OPTIONAL)'
 
::You need a TeX implementation, like tetex, to compile some of the documentation (although most of that is available on the web).
 
 
 
 
 
 
 
= Compiling and Installing the Packages =
 
== Installing the Core Libraries ==
 
=== Alternate Library Setup ===
 
=== Building the Package ===
 
 
 
= Aditional Installation =
 
== Enviornment Setup ==
 
== GNUstep Home ==
 
== Time Zone ==
 
== GNUstep daemons ==
 
 
 
= Test Tools and Applications =
 
 
 
= Machine Specific Instructions =
 
 
 
= Getting Libraries via SVN =
 

Revision as of 03:50, 25 April 2017

It is often reported that users find GNUstep difficult to install. This may be a result of lacking information.

Platform specific installation information

For information on how to install Dependencies or even GNUstep itself with your native packaging system, or about installation on exotic systems (like Windows), see Platform compatibility!

Links