discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Problem building gnustep-base


From: Dennis Leeuw
Subject: Re: Problem building gnustep-base
Date: Fri, 01 Mar 2002 09:43:00 +0100

Hi all,

I am still stuck with building GNUstep base and gcc 3.0.4
Maybe someone can shed some light on the following:
>From the configure script I copied and created conftest.c:
#include "confdefs.h"
#include "/usr/src/SPM/gnustep/core/base/config/config.objc.m"

Then I ran:
/usr/GNUstep/bin/gcc -o conftest -g -O2  -fgnu-runtime 
-I/usr/GNUstep/System/Headers -x objective-c
-L/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu 
-L/usr/GNUstep/System/Libraries/ix86/linux-gnu
conftest.c  -lobjc

The output shows:
In file included from conftest.c:2:
/usr/src/SPM/gnustep/core/base/config/config.objc.m:5: warning: incomplete 
implementation of class
`NXConstantString'
/usr/src/SPM/gnustep/core/base/config/config.objc.m:5: warning: method 
definition for `-length' not found
/usr/src/SPM/gnustep/core/base/config/config.objc.m:5: warning: method 
definition for `-cString' not found

Then I ran ./conftest which results in:
./conftest: error in loading shared libraries:
/usr/GNUstep/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/libobjc.so.1: undefined 
symbol: __dso_handle

And I don't have the slightest idea what I should be looking for next.

For those curious I build gcc 3.0.4 with the following options:
--prefix=/usr/GNUstep --enable-shared --enable-threads=pthreads 
--enable-languages=c,objc
--enable-version-specific-runtime-libs

Then I build ffcall, gmp and libxml2-2.4.15 which all went fine. So my idea is 
that it is within the objc
part.

Could someone help me out, point me in the right direction...
Like what is __dso_handle???

Thanks,

Dennis Leeuw

Nicola Pero wrote:

> Ok - sorry - my fault - I didn't read enough carefully :-) - let me know
> if you find out what the problem is
>
> > The strange thing is that I am totaly confused by what is happening.
> > I just installed gcc-3.0.4 in /usr/GNUstep and added
> > /usr/GNUstep/lib/gcc-lib/i686-pc-linux-gnu/3.0.4
> > /usr/GNUstep/lib
> > to my ld.so.conf and ran ldconfig
> >
> > I set the environment var CC to /usr/GNUstep/bin/gcc, these are to me 
> > always the standard things I do
> > when upgrading a compiler. The only thing that is different is the fact 
> > that I use Debian now and I
> > used to use Slackware.
> >
> > And added to the beginning of PATH /usr/GNUstep/bin.
> >
> > On the commandline the function reveals the correct libobjc.so:
> > maggy:/usr/src/SPM/gnustep/core/make#$CC -print-file-name=libobjc.so
> > /usr/GNUstep/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/libobjc.so
> >
> >
> > > > >
> > > > > gcc_shared_libobjc=`gcc -print-file-name=libobjc.so`
> > > > > if test -f "$gcc_shared_libobjc"; then
> > > > >   gs_cv_objc_libdir=`dirname $gcc_shared_libobjc`
> > > > > fi
> > >
> > > I don't understand how/why this is supposed to work.
> >
> > This was an already available function and the -print-file-name option just 
> > returns the entire path to
> > the libobjc.so file, which is quite handy if everything else fails ;)
>
> Ok - my point was that if you have modified /etc/ld.so.conf, the linker
> should be finding libobjc.so without any help, so uncommenting those lines
> would change nothing.
>
>
> > >  gcc_shared_libobjc=`$CC -print-file-name=libobjc.so`
> > >
> > > otherwise you're using the default gcc shared libobjc, but compiling with
> > > the newer compiler.
> >
> > With the above mentioned changes to PATH, CC and ld.so.conf I disagree.
>
> Yes - you are right in this case
>
> > So I don't think I did anything wrong, but still with the default
> > configure script I get:
> > <snip>
> > checking for shared objc library... NONE
> > <snip again>
> > checking whether objc has thread support... no
> > checking if the compiler supports autodependencies... yes: gcc major 
> > version is 3
> > </snip again>
> > </snip>
> >
> > With:
> > gcc_shared_libobjc=`gcc -print-file-name=libobjc.so`
> > I atleast get:
> > checking for shared objc library... 
> > /usr/GNUstep/lib/gcc-lib/i686-pc-linux-gnu/3.0.4/libobjc.so
> > Which seems correct to me
>
> it shouldn't make any difference, the shared objc library was found
> anyway.




reply via email to

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