Mon 09 Feb 2009 08:40:40 PM UTC, original submission:
Hi Nicola,
the trick you told me on FOSDEM unfortunately did not worked out.
I used gnustep-make-2.0.8, installed via ports system, using the filesystem layout provided there. The layout can be found here:
http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/gnustep/make/files/openbsd?rev=1.2;content-type=text%2Fplain
It is using GNUSTEP_DEFAULT_PREFIX, which is set to /usr/local, and then defining SYSTEM, LOCAL and NETWORK to the same locations. The plan was to install base.
the problem again in short:
from ports, there is gobjc library from gcc-4.2 installed, but not the gcc-4.2, and the library file is in:
/usr/local/lib/libobjc.so.2.0
I use the gcc-3.3 from the system, and the libobjc library, that I want to use is therefore also the one coming with the system:
/usr/lib/libobjc.so.4.0
sourcing GNUstep.sh, and then running:
./configure
gmake messages=yes
...
cc -Wl,-E -fgnu-runtime -o obj/make_strings \
./obj/make_strings.m.o ./obj/SourceEntry.m.o ./obj/StringsEntry.m.o ./obj/StringsFile.m.o \
-L../../Source/./obj -L/root/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lgnustep-base -pthread -lobjc -lgmp -L/usr/local/lib -lgnutls -L/usr/local/lib -lgcrypt -L/usr/local/lib -lgpg-error -L/usr/local/lib -lintl -L/usr/local/lib -liconv -liconv -lxslt -L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -liconv -lffi -lbfd -liberty -lz -lm
then no /usr/lib is included, and it is linked against the wrong libobjc library.
running the same commands like this:
LDFLAGS=-L/usr/lib ./configure
LDFLAGS=-L/usr/lib gmake messages=yes
...
cc -Wl,-E -fgnu-runtime -o obj/make_strings \
./obj/make_strings.m.o ./obj/SourceEntry.m.o ./obj/StringsEntry.m.o ./obj/StringsFile.m.o \
-L../../Source/./obj -L/root/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lgnustep-base -pthread -lobjc -lgmp -L/usr/local/lib -lgnutls -L/usr/local/lib -lgcrypt -L/usr/local/lib -lgpg-error -L/usr/local/lib -lintl -L/usr/local/lib -liconv -liconv -lxslt -L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm -liconv -lffi -lbfd -liberty -lz -lm
then when linking, /usr/lib is included, but after /usr/local/lib, therefore base is also linked against the wrong libobjc library.
In both cases, ldd ./Source/obj/libgnustep-base.so.1.18 produces the following output:
...
08e73000 28e7a000 rlib 0 1 0 /usr/local/lib/libobjc.so.2.0
...
sebastian
|