Platform:BSD

From GNUstepWiki
Revision as of 03:24, 2 January 2008 by Fedor (talk | contribs) (Edit to allow apple gcc)
Jump to navigation Jump to search
This article or section is a stub (i.e., in need of additional material).
You can help us by expanding it


Darwin

Intel

Currently tested on Darwin 7.x

Recommended compiler
gcc 3.3.2 or greater 3.3.* versions. Older versions will not compile on Darwin and 3.4.* versions don't support GNU runtime compilation on Darwin currently (The GCC bug report is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572).
gcc 4.0.3 or greater 4.* versions (the bug mentioned above has been fixed for 4.0.3 and newer)

Default compiler (Apple GCC) has unknown problems. Download the FSF GCC compiler (mirrors at http://gcc.gnu.org/mirrors.html) and configure it with -enable-threads=posix. You don't need binutils or anything else. Use the GNU runtime. Make sure to add

 export CC=/usr/local/bin/gcc (use the correct path to FSF gcc)

so that the correct compiler is found

Extra libs needed
Use ffcall because libffi hasn't been ported to Darwin x86.

Special Instructions
Read the README.Darwin file in the gnustep-make/Documentation directory for complete instructions.

PowerPC

This section is for building the complete GNUstep system. This system will not interact at all with Mac OS X/Cocoa. It uses different complilers, different display systems, etc. For building GNUstep extensions to be used with Mac OS X (for instance, if you want to build something based on GNUstep, such as GSWeb or GNUMail), see the MacOSX/PowerPC section.

Currently tested on Darwin 6.x, 7.x, 8.x

Recommended compiler
gcc 3.3.2 or greater 3.3.* versions. Older versions will not compile on Darwin and 3.4.* versions don't support GNU runtime compilation on Darwin currently (The GCC bug report is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572).
gcc 4.0.3 or greater 4.* versions (the bug mentioned above has been fixed for 4.0.3 and newer)
Apple GCC with Xcode 2.5.

Extra libs needed
Use libffi (not ffcall). This should be enabled by default in gnustep-base so you don't have to type --enable-libffi. For 6.x, you need the dlcompat library (from www.opendarwin.org) to load bundles (not needed for 7.x).

Special Instructions
Read the README.Darwin file in the gnustep-make/Documentation directory for complete instructions.

See also the Mac OSX / PowerPC section

FreeBSD-based systems

DesktopBSD

DesktopBSD joins the ranks of PC-BSD and FreeSBIE as a desktop-ready version of FreeBSD. However, their desktop is based on KDE.


DragonFly

DragonFly is an operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series.

I have mostly ported GNUstep to DragonFly, I just need to submit patches now for both GNUstep and DragonFly. To know more, you can contact me. Quentin Mathé


FreeBSD

You can install GNUstep using the /usr/ports/devel/gnustep/ meta port.
To automatically install GNUstep and (literally) tons of GNUstep-related applications, take a look at the /usr/ports/x11/gnustep-app/ meta port.

These ports should now install all dependencies -- a complete list can be found here.

Note

Prior to FreeBSD-6.0, there is a bug in kvm(3) that requires a mounted /proc for GNUstep to work properly. Until this bug is fixed, make sure you have an entry for /proc in your /etc/fstab:
proc                    /proc           procfs  rw              0       0

References: FreeBSD GNUstep ports, Freshports GNUstep

FreeBSD-Kernel w/ GNU userland

It was reported that this runs GNUstep as well. For more details see the topic of the IRC channel #gnu-kbsd on irc.gnu.org


FreeSBIE

FreeSBIE is a Live-CD Version of FreeBSD.


MidnightBSD

MidnightBSD is based on FreeBSD 6.1 pre-release. The goal of the project is to create a BSD with ease of use and simplicity in mind.

The most intriguing thing about MidnightBSD is their integration of GNUstep into the system.


PicoBSD

PicoBSD is a one floppy version of FreeBSD 3.0-current. You won't be able to use it as a platform for GNUstep.


PC-BSD

PC-BSD has as its goals to be an easy to install and use desktop OS, which is built on the FreeBSD operating system.


Mac OS X

Intel

To be provided

Power PC

This section is for building the GNUstep extensions only. Use this if, for instance, if you want to build something based on GNUstep, such as GSWeb or GNUMail. If you want to build the complete GNUstep system independant of Mac OS X, see the Darwin/PowerPC section.

Currently tested on MacOSX 10.1.5, 10.2, 10.3

Recommended compiler
Default. For 10.1.5, you need to add -no-cpp-precomp to CFLAGS (For instance, ./configure CFLAGS="-no-cpp-precomp" ...)

Extra libs needed
None.

Special Instructions
Warning ! To know how to install a complete GNUstep system on Mac OS X, read the Darwin/PowerPC section. By default, on Mac OS X, only the GNUstep extensions are built. Read the README.Darwin file in the gnustep-make/Documentation directory for complete instructions.

To build the GNUstep extensions only is useful, when you want to build on Mac OS X, GNUstep related projects like gdl2, etc linked to Cocoa. Xcode project files exist, but they may not be up-to-date. Make sure /usr/sbin is in your path:

 PATH=$PATH:/usr/sbin

Then type:

 cd make
 ./configure --with-library-combo=apple-apple-apple
 make install
 . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
 cd ../base
 ./configure --with-xml-prefix=/usr --disable-xmltest
 make debug=yes install

On Mac OS X 10.1.5, there is no libxml. Either install libxml2 or configure base with --disable-xml.

See also the Darwin / PowerPC section.


NetBSD

Installing GNUstep from pkgsrc is really straight-forward for NetBSD if you're using a recent pkgsrc distribution. NetBSD/i386 has no known problems right now, however there are reports of crashout problems for gdomap on NetBSD/sparc which may be related to ffi/ffcall issues.

In terms of pre-requisites, ensure you've got a working X11 environment on your system and preferrably are using WindowMaker as your window manager.

Build instructions

To install GNUstep, you need to cd to your pkgsrc tree and then cd to the right package directory, on my system:

 cd /usr/pkgsrc

then go to the package you wish to install, for example:

 cd meta-pkgs/gnustep

and issue the command:

 make install

This command will download source code and whatever dependencies and compile and install them. The version of the meta-packages I used (released with NetBSD 2.0 and called gnustep-1.10.0nb2) installs the following GNUstep components as parts of the meta-package:

  • gnustep-make-1.10.0
  • gnustep-base-1.10.1
  • gnustep-ssl-1.10.1
  • gnustep-gui-0.9.4
  • gnustep-back-0.9.4
  • gnustep-examples-1.0.0
  • ImageViewer-0.6.3
  • Pantomime-1.1.2
  • Addresses-0.4.6
  • GNUMail-1.1.2
  • Gorm-0.8.0
  • ProjectCenter-0.4.0
  • GWLib-0.6.5
  • Renaissance-0.8.0
  • gworkspace-0.6.5

A number of dependency packages are also installed.

This may be overkill - if you don't need all the applications etc, you can install the packages individually.


OpenBSD

Please take a look at http://mail.rochester.edu/~asveikau/gnustep-openbsd/

As of May 2007, GNUstep is in the OpenBSD ports tree. If you are running a snapshot of the base system from after this date, you can grab the latest version of the ports tree and build it from /usr/ports/x11/gnustep. This includes the core GNUstep components and some others, such as Gorm.

The port will not work with OpenBSD 4.1 (release or -STABLE) due to changes in the ports system.

Binary packages should be available for OpenBSD 4.2 and later.