Difference between revisions of "Platform compatibility"

From GNUstepWiki
Jump to navigation Jump to search
Line 113: Line 113:
 
[tjyang@dual unslung]$
 
[tjyang@dual unslung]$
 
   </pre>  
 
   </pre>  
 +
* Testing objc on host linux machine.
 +
<pre>
 +
[tjyang@dual bin]$ pwd
 +
/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/armv5b-softfloat-linux/bin
 +
[tjyang@dual bin]$
 +
[tjyang@dual bin]$ cat hellow.m
 +
#include <stdio.h>
 +
 +
int main(void)
 +
{
 +
  printf("Hello World\n");
 +
}
 +
[tjyang@dual bin]$ gcc hellow.m -lobjc -o hellow
 +
[tjyang@dual bin]$ file hellow
 +
hellow: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
 +
2.2.5, dynamically linked (uses shared libs), not stripped
 +
[tjyang@dual bin]$ ./hellow
 +
Hello World
 +
[tjyang@dual bin]$ uname -a
 +
Linux dual 2.4.21-9.ELsmp #1 SMP Thu Jan 8 17:08:56 EST 2004 i686 i686 i386 GNU/Linux
 +
[tjyang@dual bin]$
 +
 +
</pre>
 
* Second step is to use this cross compiler to compile a native compiler for armv5b cpu.
 
* Second step is to use this cross compiler to compile a native compiler for armv5b cpu.
  
 
References: http://lists.gnu.org/archive/html/discuss-gnustep/2005-02/msg00124.html
 
References: http://lists.gnu.org/archive/html/discuss-gnustep/2005-02/msg00124.html

Revision as of 13:15, 17 February 2005

Note: Anyone know how to convert Platform Compatibility HowTOsource into wiki language, so we can work on others' effort?

Following are procedures for installing GNUstep on different Operating Systems.


AIX

BSD

Darwin

Intel
PowerPC

FreeBSD

You can install GNUstep via /usr/ports/devel/gnustep. However, not all required dependancies are installed.

If you install the following in advance, you should be fine:

  • wmaker
  • libxml2
  • libxslt
  • libgmp4
  • libart_lgpl2
  • libaudiofile
  • ffcall
  • glitz

You may also want to install /usr/ports/net/mDNSResponder.

Note: There is a bug in libkvm that requires a mounted /proc. 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

Mac OS X

NetBSD

OpenBSD

HP/UX

We should stay away from HPUX-10.20, it is not supported by HP anymore.

Irix

Linux

Debian

Since Debian "Sarge" you can just say

apt-get install x-window-system-core wmaker gnustep gnustep-devel gnustep-games

to get GNUstep, X11 and Window Maker installed.

But what happen if you are on Debian stable (3.0) release ?

Here is an answer from gnustep irc channel:

 <fsmunoz> change every occurence of "stable" for "testing"
 <fsmunoz> remove the security.debian.org line
 <fsmunoz> do apt-get update
 <fsmunoz> apt-get dist-upgrade
 <fsmunoz> repeat  this last one until nothing gets installed or removed.
 <fsmunoz> the, replace "testing" with "unstable"
 <fsmunoz> then, apt-get update
 <fsmunoz> apt-get dist-upgrade
 <fsmunoz> repeat, repeat.
 <fsmunoz> done

RedHat

Advance Server 3.0
FC 3

Slackware

SuSE

Solaris

http://www.linuks.mine.nu/gnustep/solaris is one package sources to create solaris packages for GNUstep.

Intel

Sparc

Windows

Cygwin

MingW

SFU

Microsfot's Service For Unix.

Others

LiveCD for Intel

Current version is 0.9.4.2

Find the instructions to install and the CD itself here

Linksys NSLU2

  • First thing need to happen is to gnerate a gcc cross compiler with objc enabled. Current nslu2 supported gcc only has c and c++ enabled when building the crosstool-native package.
  • We got the first step done ;)
[tjyang@dual slug]$ cat checkout.sh
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nslu co unslung
[tjyang@dual toolchain]$ cd crosstool/
[tjyang@dual crosstool]$ grep objc *
nslu2-cross335.sh:GCC_LANGUAGES="c,c++,objc"
[tjyang@dual crosstool]$ pwd
/home/tjyang/slug/unslung/toolchain/crosstool
[tjyang@dual crosstool]$
[tjyang@dual slug]$ gmake toolchain
[tjyang@dual unslung]$ /export/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/bin/armv5b-softfloat-linux-gcc -v

Reading specs from /export/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/lib/gcc-lib/armv5b-softfloat-linux/3.3.5/specs
Configured with: /export/home/tjyang/slug/unslung/toolchain/crosstool/build/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/gcc-3.3.5/configure --target=armv5b-softfloat-linux --host=i686-host_pc-linux-gnu --prefix=/export/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5 --with-float=soft --with-cpu=xscale --enable-cxx-flags=-mcpu=xscale --with-headers=/export/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/armv5b-softfloat-linux/include --with-local-prefix=/export/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/armv5b-softfloat-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++,objc --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.3.5
[tjyang@dual unslung]$
   
  • Testing objc on host linux machine.
[tjyang@dual bin]$ pwd
/home/tjyang/slug/unslung/toolchain/armv5b-softfloat-linux/gcc-3.3.5-glibc-2.2.5/armv5b-softfloat-linux/bin
[tjyang@dual bin]$
[tjyang@dual bin]$ cat hellow.m
#include <stdio.h>

int main(void)
{
   printf("Hello World\n");
}
[tjyang@dual bin]$ gcc hellow.m -lobjc -o hellow
[tjyang@dual bin]$ file hellow
hellow: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
2.2.5, dynamically linked (uses shared libs), not stripped
[tjyang@dual bin]$ ./hellow
Hello World
[tjyang@dual bin]$ uname -a
Linux dual 2.4.21-9.ELsmp #1 SMP Thu Jan 8 17:08:56 EST 2004 i686 i686 i386 GNU/Linux
[tjyang@dual bin]$

  • Second step is to use this cross compiler to compile a native compiler for armv5b cpu.

References: http://lists.gnu.org/archive/html/discuss-gnustep/2005-02/msg00124.html