Difference between revisions of "Dependencies"

From GNUstepWiki
Jump to navigation Jump to search
m (Links to Bonjour, NSNetService and NSNetServiceBrowser)
 
(43 intermediate revisions by 3 users not shown)
Line 10: Line 10:
  
 
''' Required '''
 
''' Required '''
* [http://gcc.gnu.org/ GCC with ObjC support] -- preferably version 4.x
+
* [http://gcc.gnu.org/ GCC with ObjC support] -- preferably version 4.x, 2.95 minimum (with gnustep-supplied libobjc)
 
* [http://www.gnu.org/software/make/make.html GNU make] -- called ''gmake'' or ''gnumake'' on some systems
 
* [http://www.gnu.org/software/make/make.html GNU make] -- called ''gmake'' or ''gnumake'' on some systems
  
Line 16: Line 16:
 
* [http://www.gnu.org/software/gdb/ gdb] -- for debugging
 
* [http://www.gnu.org/software/gdb/ gdb] -- for debugging
 
* [http://www.windowmaker.info/ Window Maker] -- this would install a lot of dependencies beforehand
 
* [http://www.windowmaker.info/ Window Maker] -- this would install a lot of dependencies beforehand
 
 
  
 
= GNUstep-base =
 
= GNUstep-base =
Line 23: Line 21:
 
''' Required '''
 
''' Required '''
 
* GNUstep-make   
 
* GNUstep-make   
* [http://www.haible.de/bruno/packages-ffcall.html ffcall] '''or''' [http://sources.redhat.com/libffi/ libffi] -- stack-frame handling
+
* [http://sources.redhat.com/libffi/ libffi-dev (libffi)] currently recommended default '''or''' [http://www.haible.de/bruno/packages-ffcall.html ffcall] -- stack-frame handling
 +
 
 +
''' Recommended development kit dependencies'''
 +
* [http://site.icu-project.org/ libicu-dev (icu)] -- for International Components for Unicode
 +
* [http://xmlsoft.org/ libxml2-dev (xml2)] -- for XML-based property-lists
 +
* [http://xmlsoft.org/XSLT/ libxslt1-dev (xslt)] -- for style sheet support for use with XML
 +
* [http://www.gnu.org/software/gnutls/ libgnutls-dev (gnutls)] -- for Transport Layer Security (TLS 1.0 and SSL 3.0) On Ubuntu and debian this will automatically pull in libgcrypt11-dev, liggpg-error-dev, and libtasn1-3-dev
 +
 
 +
* [http://www.openssl.org/ libssl-dev (openssl)] -- for HTTPS connections in [[NSURL]]
  
''' Recommended '''
+
The recommended and optional development kit packages in Debian and Ubuntu will pull in the compiled libraries for you as a dependancy. Selecting only the run-time library will generate a configure warning. If you continue with 'make', then the noted library functionalities will be missing in your final executable.
* [http://xmlsoft.org/ libxml2] -- for XML-based property-lists
+
 
* [http://xmlsoft.org/XSLT/ libxslt] -- for style sheet support for use with XML
+
The remaining references give only the typical library name.
* [http://www.openssl.org/ openssl] -- for HTTPS connections in [[NSURL]]
 
  
 
''' Optional '''
 
''' Optional '''
* [http://www.gnu.org/software/libiconv/ libiconv] -- Unicode support, only install if not provided by your system / glibc
+
* [http://www.gnu.org/software/libiconv/ libiconv] -- Unicode support, only install if not provided by your system. Note the GNU 'C' library (libc6-dev) provides the required functionality on all recent GNU/Linux systems
* [http://www.swox.com/gmp/ libgmp4] -- arbitrary precision arithmetic
+
* [http://www.swox.com/gmp/ libgmp] -- arbitrary precision arithmetic -run 'make check' if building yourself to assure you are getting appropriate results.
* libbfd -- universal "Binary File Descriptor" library, part of [http://www.gnu.org/software/binutils/ GNU binutils]
+
* libgnutls -- provides Transport Layer Security -- TLS 1.0 and SSL 3.0 protocols (libgnutls-dev)
* [http://developer.apple.com/opensource/internet/bonjour.html mDNSResponder] -- for [http://www.apple.com/macosx/features/bonjour/ Bonjour] service discovery, as implemented by [[NSNetService]] and [[NSNetServiceBrowser]]
+
* libbfd -- universal "Binary File Descriptor" library, part of [http://www.gnu.org/software/binutils/ GNU binutils] (binutils-dev)
 
+
* [http://developer.apple.com/opensource/internet/bonjour.html mDNSResponder] -- for [http://www.apple.com/macosx/features/bonjour/ Bonjour] service discovery, as implemented by [[NSNetServices]] and [[NSNetServiceBrowser]] Search for libavahi under Ubuntu and Debian for the equivalent. See http://www.avahi.org/ for additional details.
  
 +
Selecting libavahi-compat-libdnssd-dev in Ubuntu or debian will automatically add
 +
libavahi-client-dev, libavahi-common-dev,libdbus-1-dev development kits.
  
 
= GNUstep-gui =
 
= GNUstep-gui =
Line 42: Line 49:
 
''' Required '''
 
''' Required '''
 
* GNUstep-base   
 
* GNUstep-base   
* [http://www.remotesensing.org/libtiff/ tiff] -- TIFF support
+
* [http://www.remotesensing.org/libtiff/ tiff] -- Tag Image File Format (TIFF) support for image data
 +
 
 +
In Ubuntu and Debian the development kit libtiff4-dev automatically pulls in libjpeg62-dev and libtiffxx0c2.
  
 
''' Recommended '''   
 
''' Recommended '''   
* [http://www.ijg.org/ jpeg] -- JPEG support
+
* [http://www.ijg.org/ jpeg] -- Joint Photographic Experts Group (JPEG) lossy image data compression support
* [http://www.libpng.org/pub/png/libpng.html png] -- PNG support
+
 
 +
In Ubuntu and Debian install the libjpeg62-dev development kit.
 +
 
 +
* [http://www.libpng.org/pub/png/libpng.html png] -- Portable Network Graphics (PNG) support
 +
 
 +
In Ubuntu and Debian install the libpng12-dev development kit.
  
 
''' Optional '''
 
''' Optional '''
 
* [http://sourceforge.net/projects/libungif/ libungif] -- for reading and writing GIF images
 
* [http://sourceforge.net/projects/libungif/ libungif] -- for reading and writing GIF images
 +
 +
In Ubuntu and Debian are transitioning to the libgif-dev instead of the older libungif4-dev development kit.
 +
 
* [http://aspell.sourceforge.net/ aspell] -- spell checking
 
* [http://aspell.sourceforge.net/ aspell] -- spell checking
* [http://www.cups.org/ cups-base] -- printing  
+
 
 +
In Ubuntu and Debian install the libaspell-dev development kit.
 +
 
 +
* [http://www.cups.org/ cups-base] -- printing
 +
 
 +
In Ubuntu and Debian install libcups2-dev will automatically pull in comerr-dev, libkadm55, libkrb5-dev development kits.
 +
 
 +
* [http://icns.sourceforge.net/ libicns-dev] for manipulation of the MacOS icns resource format. This development kit in Ubuntu and Debian will pull in the libicns1 library.
 +
 
 
* [http://www.68k.org/~michael/audiofile/ libaudiofile] -- sound   
 
* [http://www.68k.org/~michael/audiofile/ libaudiofile] -- sound   
 +
 
* [http://www.portaudio.com/ portaudio] -- sound, needs at least portaudio-v19
 
* [http://www.portaudio.com/ portaudio] -- sound, needs at least portaudio-v19
  
 
+
In Ubuntu and Debian installing portaudio19-dev will automatically pull in libasound2-dev, libfreebob0, libjack-dev, libjack0, libjack0.100.0-dev, libportaudio2 development kits.
  
 
= GNUstep-back =
 
= GNUstep-back =
  
== XLIB ==
+
GNUstep-back currently supports three separate back-ends (xlib, art and cairo). Windows currently uses its own default backend.
  
''' Required '''
+
''' Required for all back-ends '''
 
* GNUstep-gui   
 
* GNUstep-gui   
  
''' Recommended '''
+
''' Required for X11 back-ends '''
* [http://fontconfig.org/ libXft] -- font API
+
* [http://www.x.org/wiki/ libxt-dev] --development kit for X11 toolkit intrinsics library
 +
 
 +
In Ubuntu and Debian installing the libxt-dev development kit will automatically pull in libice-dev, libsm-dev
 +
 
 +
In Ubuntu and Debian install the libxext-dev development kit to support shared memory and additional X-Windows extensions
 +
 
 +
''' Recommended for all X11 back-ends '''
 +
* [http://fontconfig.org/ libXft] -- Freetype based font drawing API This changes the anti-aliasing of fonts over the default methods.
 +
 
 +
In Ubuntu and Debian install the libxft-dev development kit.
 +
 
 +
 
 +
 
 +
== XLIB ==
 +
 
 +
As above.
  
 
== ART ==
 
== ART ==
 +
'''Required'''
 +
* [http://freetype.sourceforge.net/freetype1/projects.html freetype2] -- TrueType font rendering engine
 +
 +
In Ubuntu and Debian install the libfreetype6-dev development kit.
  
''' Required '''
 
* GNUstep-gui 
 
* [http://freetype.sourceforge.net/freetype1/projects.html freetype2] -- TrueType font rendering engine
 
 
* [http://www.levien.com/libart/ libart_lgpl2] -- 2D graphics supporting
 
* [http://www.levien.com/libart/ libart_lgpl2] -- 2D graphics supporting
  
''' Recommended '''
+
In Ubuntu and Debian install the libart-2.0-dev development kit.
* [http://fontconfig.org/ libXft] -- font API
 
  
 
== CAIRO ==
 
== CAIRO ==
  
''' Required '''
+
''' Required '''.
* GNUstep-gui 
+
 
* [http://www.levien.com/libart/ libart_lgpl2] -- 2D graphics supporting
 
* [http://freedesktop.org/Software/glitz glitz] -- OpenGL image compositing library
 
 
* [http://www.cairographics.org/ cairo] -- PDF 1.4 imaging model
 
* [http://www.cairographics.org/ cairo] -- PDF 1.4 imaging model
  
''' Recommended '''
+
'''Optional'''
* [http://fontconfig.org/ libXft] -- font API
+
Cairo supports multiple output devices.
  
 +
* [http://freedesktop.org/Software/glitz glitz] -- OpenGL image compositing library
  
 +
In Ubuntu and Debian installing the libglitz-glx1-dev development kit will pull in libgl1-mesa-dev, libglitz1-dev, mesa-common-dev, xlibmesa-gl-dev
  
 
= Documentation =
 
= Documentation =

Latest revision as of 22:01, 20 August 2011

The following is the current (as of December 27, 2006) list of direct dependencies for GNUstep.

Note :

  • some of these dependencies are dependent of each other (e.g. tiff requires jpeg, and libungif requires freetype2)
  • each of these dependencies may require additional libraries, which are not listed here
  • the given names may not accurately reflect the actual package name as provided by your system


GNUstep-make

Required

  • GCC with ObjC support -- preferably version 4.x, 2.95 minimum (with gnustep-supplied libobjc)
  • GNU make -- called gmake or gnumake on some systems

Optional

  • gdb -- for debugging
  • Window Maker -- this would install a lot of dependencies beforehand

GNUstep-base

Required

Recommended development kit dependencies

The recommended and optional development kit packages in Debian and Ubuntu will pull in the compiled libraries for you as a dependancy. Selecting only the run-time library will generate a configure warning. If you continue with 'make', then the noted library functionalities will be missing in your final executable.

The remaining references give only the typical library name.

Optional

  • libiconv -- Unicode support, only install if not provided by your system. Note the GNU 'C' library (libc6-dev) provides the required functionality on all recent GNU/Linux systems
  • libgmp -- arbitrary precision arithmetic -run 'make check' if building yourself to assure you are getting appropriate results.
  • libgnutls -- provides Transport Layer Security -- TLS 1.0 and SSL 3.0 protocols (libgnutls-dev)
  • libbfd -- universal "Binary File Descriptor" library, part of GNU binutils (binutils-dev)
  • mDNSResponder -- for Bonjour service discovery, as implemented by NSNetServices and NSNetServiceBrowser Search for libavahi under Ubuntu and Debian for the equivalent. See http://www.avahi.org/ for additional details.

Selecting libavahi-compat-libdnssd-dev in Ubuntu or debian will automatically add libavahi-client-dev, libavahi-common-dev,libdbus-1-dev development kits.

GNUstep-gui

Required

  • GNUstep-base
  • tiff -- Tag Image File Format (TIFF) support for image data

In Ubuntu and Debian the development kit libtiff4-dev automatically pulls in libjpeg62-dev and libtiffxx0c2.

Recommended

  • jpeg -- Joint Photographic Experts Group (JPEG) lossy image data compression support

In Ubuntu and Debian install the libjpeg62-dev development kit.

  • png -- Portable Network Graphics (PNG) support

In Ubuntu and Debian install the libpng12-dev development kit.

Optional

  • libungif -- for reading and writing GIF images

In Ubuntu and Debian are transitioning to the libgif-dev instead of the older libungif4-dev development kit.

In Ubuntu and Debian install the libaspell-dev development kit.

In Ubuntu and Debian install libcups2-dev will automatically pull in comerr-dev, libkadm55, libkrb5-dev development kits.

  • libicns-dev for manipulation of the MacOS icns resource format. This development kit in Ubuntu and Debian will pull in the libicns1 library.
  • portaudio -- sound, needs at least portaudio-v19

In Ubuntu and Debian installing portaudio19-dev will automatically pull in libasound2-dev, libfreebob0, libjack-dev, libjack0, libjack0.100.0-dev, libportaudio2 development kits.

GNUstep-back

GNUstep-back currently supports three separate back-ends (xlib, art and cairo). Windows currently uses its own default backend.

Required for all back-ends

  • GNUstep-gui

Required for X11 back-ends

  • libxt-dev --development kit for X11 toolkit intrinsics library

In Ubuntu and Debian installing the libxt-dev development kit will automatically pull in libice-dev, libsm-dev

In Ubuntu and Debian install the libxext-dev development kit to support shared memory and additional X-Windows extensions

Recommended for all X11 back-ends

  • libXft -- Freetype based font drawing API This changes the anti-aliasing of fonts over the default methods.

In Ubuntu and Debian install the libxft-dev development kit.


XLIB

As above.

ART

Required

In Ubuntu and Debian install the libfreetype6-dev development kit.

In Ubuntu and Debian install the libart-2.0-dev development kit.

CAIRO

Required .

  • cairo -- PDF 1.4 imaging model

Optional Cairo supports multiple output devices.

  • glitz -- OpenGL image compositing library

In Ubuntu and Debian installing the libglitz-glx1-dev development kit will pull in libgl1-mesa-dev, libglitz1-dev, mesa-common-dev, xlibmesa-gl-dev

Documentation