discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUstep StartUp on a Mac Powerbook


From: Tabitha McNerney
Subject: Re: GNUstep StartUp on a Mac Powerbook
Date: Sun, 27 Mar 2005 21:10:17 -1000

Dear Lars, Markus and Yves,

Thank you for your kind assistance. I have been energized by your
emails and have been trying persisently all weekend to get GNUstep to
compile on my Powerbook. I think I am close and refuse to give up. But
I must say it is a rather arduous process not for the faint of heart.

Based on all of your advices, I found a mirror for gcc and downloaded
gcc version gcc-4.0-20050130. I could not find gcc version 3.3.5 on
the mirrors I checked but I read somewhere from a Google search that
4.0 also means 3.5 (I hope I interpreted this correctly). I proceeded
to follow the instructions on this page for Darwin PPC:

http://www.gnustep.org/resources/documentation/User/GNUstep/README.Darwin

To isolate this new version of gcc from my Powerbook's gcc from Apple,
I configured, made and installed gcc 4 on my external firewire disk
(it is cozy, next to my Darwin Ports installation location of
/Volumes/external/opt/local):

/Volumes/external/opt/local/gcc

The instructions in the README.Darwin file are ever so slightly
different. They refer to linking the objc libraries like this:

>     cd <gcc install dir>/lib
>     ln -s libobjc.a libobjc.dylib                     # So the linker sees us

However after making gcc 4, I noticed that the objc library files are
named differently:

$ cd /Volumes/external/opt/local/gcc/lib
$ ls | grep objc

-rw-r--r-- 162312 27 Mar 19:00 libobjc-gnu.a
-rwxr-xr-x 105972 27 Mar 19:00 libobjc-gnu.1.0.0.dylib
lrwxr-xr-x 23 27 Mar 19:00 libobjc-gnu.1.dylib -> libobjc-gnu.1.0.0.dylib
lrwxr-xr-x 23 27 Mar 19:00 libobjc-gnu.dylib -> libobjc-gnu.1.0.0.dylib
-rwxr-xr-x 792 27 Mar 19:00 libobjc-gnu.la

In case the linker for GNUstep still needs to see "libobjc" instead of
"libobjc-gnu" I did this:

$ ln -s libobjc-gnu.dylib libobjc.dylib

installing gnustep-make seemed to work just fine, I just did this:

$ ./configure --with-library-combo=gnu-gnu-gnu
--prefix=/Volumes/external/opt/local/GNUstep
CC=/Volumes/external/opt/local/gcc4/bin/gcc

$ make
$ make install

I then added as Yves suggested, so the Darwin Ports installed includes
and libraries of libtiff, libjpeg, libffi, etc could be used (and I
also added the gcc4 directories as well):

export 
CPPFLAGS=-I/Volumes/external/opt/local/include:-I/Volumes/external/opt/local/gcc/include
export 
CFLAGS=-I/Volumes/external/opt/local/include:-I/Volumes/external/opt/local/gcc4/include
export 
LDFLAGS=-L/Volumes/external/opt/local/lib:-L/Volumes/external/opt/local/gcc4/lib

Next, I logged in a new shell to make sure my .bash_profile was
sourced correctly, then I sourced GNUstep.sh no problem:

. /Volumes/external/opt/local/GNUstep/System/Makefiles/GNUstep.sh

Next, for gnustep-base I did this (following the README.Darwin instructions):

$ cd ~/Desktop/gnustep-startup-0.9.2/sources/gnustep-base-1.10.1

Then I configured like this (following the README.Darwin file as close
as possible):

$ ./configure CC=/Volumes/external/opt/local/gcc4/bin/gcc

yet I still received this error due to the ffi checking:

-----------------------------------------------------------------------------------------------------
checking ffi.h usability... no
checking ffi.h presence... no
checking for ffi.h... no
checking callback.h usability... no
checking callback.h presence... no
checking for callback.h... no
checking "for forwarding callback in runtime"... no
checking "FFI library usage"... none

You do not have an up-to-date libobjc library installed
GNUstep requires ffcall or libffi and proper libobjc hooks to do
invocations and DO.
(This does not apply on apple-apple-apple systems where DO is
not compatible with other GNUstep systems.)

You most likely do not want to build base without DO support. Many
things, including all applications, won't work at all without DO.
If you really want to build -base without DO support, add --disable-do
to the configure arguments.
-----------------------------------------------------------------------------------------------------

Here is my ffi info:

$ ls /Volumes/external/opt/local/lib | grep ffi
libffi.a
libffi.la

$ ls /Volumes/external/opt/local/include | grep ffi
ffi.h
ffi_mips.h
fficonfig.h
tiffio.h
tiffio.hxx

Which comes from:

http://darwinports.opendarwin.org/darwinports/dports/devel/libffi/Portfile

>PortSystem 1.0
>
>name           libffi
>version        20030921

I think the README.Darwin document needs to be updated to reflect more
than just a Fink along-the-side installation. I guess for now I should
try to just follow the README instructions to make libobjc for Darwin
PPC and gnu-gnu-gnu ... am not sure eactly but I guess I have to keep
trying cause I really want to have GNUstep and especially GWorkspace
with WindowMaker and not GNOME.

I wonder if it will be easier to do all of this once Tiger is out
because I heard Tiger has gcc 4 but maybe not because Apple may still
limit the gcc 4 on Tiger regarding objc support?

If anyone can offer some further instructional suggestions it would be
appreciated.

Tabitha

On Sun, 27 Mar 2005 10:47:21 +0200, Markus Hitter <mah@jump-ing.de> wrote:
> 
> Am 27.03.2005 um 05:44 schrieb Tabitha McNerney:
> 
> > [...] these libraries are in my Darwin Ports library and they are in
> > my $PATH [...]
> 
> PATH? PATH is meant to hold a collection of paths to commands. For
> finding/using libraries it isn't helpful at all.
> 
> > --------------------------------------------------------------
> > E281 Error
> > I don't seem to be able to use your Objective-C compiler to produce
> > working binaries!
> 
> Did you try to build something else? You could fire up Xcode, open a
> application project template and see wether it compiles and produces a
> working binary.
> 
> Next step would be to investigate what GNUstep's configure script tries
> to do and to retry these steps manually. There's config.log which
> tracks what configure does.
> 
> Other than that, the error decription appears quite helpful ...
> 
> Hope that helps,
> Markus
> 
> P.S.: Make sure to file a bug if you found it was GNUstep's fault.
> 
> - - - - - - - - - - - - - - - - - - -
> Dipl. Ing. Markus Hitter
> http://www.jump-ing.de/
> 
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]