Re: Attempted install of an Obj-C Foundation library

From: dieymir (dieymir_at_yahoo.es)
Date: 04/27/05


Date: Wed, 27 Apr 2005 01:01:49 +0200

Michael Hopkins wrote:

>
>
> Hi all
>
> I am trying to get a working Objective-C Foundation library on FreeBSD
> amd64 (5.3-RELEASE-p10 with ports cvsup'd today) so that I can port some
> Objective-C code from Mac OS X - and not having any success.
>
> I first tried a default install of the gnustep-base port but got this:
> ----------------------------------------------------------------------
> Athlon# pwd
> /usr/ports/lang/gnustep-base
> Athlon# make
> ===> gnustep-base-1.10.3 depends on file: /usr/local/lib/libcallback.a -
> found
> ===> gnustep-base-1.10.3 depends on file:
> /usr/local/lib/gcc-lib/x86_64-portbld-freebsd5.3/3.3.6/libobjc.so - not
> found
> ===> Verifying install for
> /usr/local/lib/gcc-lib/x86_64-portbld-freebsd5.3/3.3.6/libobjc.so in
> /usr/ports/lang/gcc-objc
> ===> gcc-objc-3.3.6_20050330 is marked as broken: Bus errors in stage2;
> system compiler may be broken..
> *** Error code 1
>
> Stop in /usr/ports/lang/gcc-objc.
> *** Error code 1
>
> Stop in /usr/ports/lang/gnustep-base.
> ----------------------------------------------------------------------
>
> Someone then suggested I should use 'make -DGNUSTEP_WITH_GCC34' and try
> again, so I did and got a lot further. After lots of successful building
> of
> GCC 3.4.4 it died. Another attempt (which skips the successful stuff)
> gives this:
> ----------------------------------------------------------------------
> ===> Building for gnustep-base-1.10.3
> Making all in Source...
> gmake[1]: Entering directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/Source'
> Making all in subprojects of library libgnustep-base...
> gmake[2]: Entering directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/Source/Additions'
> Making all for subproject Additions...
> gmake[3]: Nothing to be done for `internal-subproject-all'.
> gmake[2]: Leaving directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/Source/Additions'
> Making all for library libgnustep-base...
> Linking library libgnustep-base ...
> /usr/bin/ld: /usr/local/lib/libcallback.a(misc.o): relocation R_X86_64_32
> can not be used when making a shared object; recompile with -fPIC
> /usr/local/lib/libcallback.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> gmake[1]: Leaving directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/Source'
> Making all in SSL...
> gmake[1]: Entering directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/SSL'
> Making all for bundle SSL...
> Linking bundle SSL ...
> /usr/bin/ld: cannot find -lgnustep-base
> collect2: ld returned 1 exit status
> gmake[2]: *** [SSL.bundle/./SSL] Error 1
> gmake[1]: *** [SSL.all.bundle.variables] Error 2
> gmake[1]: Leaving directory
> `/usr/ports/lang/gnustep-base/work/gnustep-base-1.10.3/SSL'
> gmake: *** [internal-all] Error 2
> *** Error code 2
>
> Stop in /usr/ports/lang/gnustep-base.
> ----------------------------------------------------------------------
Do you have installed gnustep-make ??
Anyway it will get better feedback in the GNUstep discussion group:
http://groups.google.es/groups?hl=es&lr=&group=gnu.gnustep.discuss

>
> I have also tried the other option i.e. libfoundation, from here:
>
>
http://download.opengroupware.org/sources/trunk/libfoundation-trunk-latest.
> tar.gz
>
> I am told that this is a pretty complete port of the Foundation library,
> but
> the install instructions are rather vague. An attempted build after
> ./configure gives this:
> ----------------------------------------------------------------------
> root@Athlon /home/mwh/Coding/Obj-C/libfoundation/libfoundation # gmake
> GNUmakefile:29: /common.make: No such file or directory
> GNUmakefile:34: /aggregate.make: No such file or directory
> gmake: *** No rule to make target `/aggregate.make'. Stop.
> ----------------------------------------------------------------------
>
To compile libFoundation you need to have installed gnustep-make and you
must run GNUstep.sh to setup the environment.

Hope this helps.