Building GNUstep on Solaris 10 (x86)

Laszlo Kiss <[email protected]>
Newsgroups gmane.comp.lib.gnustep.user
Message-ID <[email protected]>
Hello All,

I'm building the GNUstep environment on Solaris 10 (3/05) x86. I had good
success so far, but when the base tools are being built the link step fails
with the following message:

Making all for tool autogsdoc...
 Linking tool autogsdoc ...
Undefined                       first referenced
 symbol                             in file
objc_get_class                      ./shared_obj/autogsdoc.o  (symbol belongs
   to implicit
      dependency /opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2/libobjc.so.1)
objc_msg_lookup_super               ./shared_obj/AGSParser.o  (symbol belongs
   to implicit
      dependency /opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2/libobjc.so.1)
objc_msg_lookup                     ./shared_obj/autogsdoc.o  (symbol belongs
   to implicit
      dependency /opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2/libobjc.so.1)
__objc_exec_class                   ./shared_obj/autogsdoc.o  (symbol belongs
   to implicit
      dependency /opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2/libobjc.so.1)
ld: fatal: Symbol referencing errors. No output written to shared_obj/autogsdoc
collect2: ld returned 1 exit status
make[2]: *** [shared_obj/autogsdoc] Error 1
make[1]: *** [autogsdoc.all.tool.variables] Error 2
make[1]: Leaving directory `/opt/common/src/GNUstep/gnustep-base-1.11.0/Tools'
make: *** [internal-all] Error 2

I'm using binutils-2.14 and gcc-3.4.2 which I built using the gcc-3.4.2 that
is distributed on the Solaris Companion CD. I had to re-build gcc because the
default distribution does not have Objective-C enabled.

Here is the version string returned by my compiler:

maximus# gcc -v
Reading specs from /opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2/specs
Configured with: ../gcc-3.4.2/configure --prefix=/opt/common
--with-local-prefix=/opt/common/include --enable-threads
--enable-version-specific-runtime-libs --enable-languages=c,c++,objc
--enable-gather-detailed-mem-stats --disable-nls --with-ld=/usr/ccs/bin/ld
--with-gnu-as --with-as=/opt/common/bin/gnuas --enable-shared --disable-libgcj
Thread model: posix
gcc version 3.4.2

The link library search list is:

maximus$ crle

Configuration file [version 4]: /var/ld/ld.config  
  Default Library Path (ELF):   
    /lib:/usr/lib:/opt/common/lib:/opt/common/lib/gcc/i386-pc-solaris2.10/3.4.2
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure


Note also that I can build executables that use the Foundation with the
following gcc invocation:

gcc -I /opt/common/GNUstep/System/Library/Headers Stepping.m -o Stepping
   -L /opt/common/GNUstep/System/Library/Libraries -lgnustep-base -lobjc

To get the gnustep-base.so in the right place I simply commented out the code
that built the tools and did a 'make install'. However, it would be nice if I
could build the entire development system. This I think requires a mod to the
build system (I'm guessing) and this is why I'm posting for help here.

Thanks for any replies.


Laszlo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.