This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: UPDATE Re: bootstrap failure of 3.0.3 on aix4.3.3



Okay - I figured out the problem below is from g++ generating WEAK
symbols, which AIX does not support.  However, the build notes for
*-ibm-aix-* word it thusly:

> The GNU Assembler incorrectly reports that it supports WEAK symbols on
> AIX which causes GCC to try to utilize weak symbol functionality which
> is not really supported on the platform.  The native as and ld still are
> recommended.  The native AIX tools do interoperate with GCC.

I ran my configure with --without-gnu-as and --without-gnu-ld.
Also, after installing binutils, I removed gas and as from
the prefix/bin and prefix/powerpc*/bin respectively.  However,
it seems perhaps something else was left behind that the
gcc build saw that caused it to turn on the weak symbol
support.  I'm continuing to dig, but if anyone can offer
advice on what may have gone wrong I'd appreciate it.

Thanks.

-Rob

On Tue, 29 Jan 2002, Robert A Nesius wrote:
> <pdxfs32 286> /tmp # cat hello.C
> #include <iostream>
>
> int main() {
>   std::cout << "Hello, World!" << std::endl;
> }
>
> <pdxfs32 287> /tmp # g++ hello.C -lpthreads -L/usr/intel/pkgs/gcc/3.0.3/lib -lstdc++ -o hello
> ld: 0711-317 ERROR: Undefined symbol: std::string::_Rep::_S_max_size
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
> collect2: ld returned 8 exit status
> <pdxfs32 288> /tmp # g++ hello.C -bloadmap -lpthreads -L/usr/intel/pkgs/gcc/3.0.3/lib -lstdc++ -o hello
>
>
>
> On Thu, 24 Jan 2002, Robert A Nesius wrote:
>
> >
> > I encountered the following failure while building gcc 3.0.3
> > on aix 4.3.3 w/ a snapshot of binutils from 10.21.2001 that
> > I have used successfully with 3.0.2.
> >
> > <pdxfs32 162> /tmp/gcc/aix43-gcc303 # cat config.status
> > #!/bin/sh
> > # This file was generated automatically by configure.  Do not edit.
> > # This directory was configured as follows:
> > ../gcc-3.0.3/configure --with-gcc-version-trigger=/tmp/gcc/gcc-3.0.3/gcc/version.c --host=powerpc-ibm-aix4.3.3.0 --enable-shared --prefix=/usr/intel/pkgs/gcc/3.0.3 --with-gnu-as --with-as=/usr/intel/pkgs/gcc/3.0.3/bin/gas --norecursion
> > #  using "mt-frag"
> >
> >
> > After the last configure, this seems to be during a stage2/stage3
> > comparison?
> > -------
> > ...
> > with_multisubdir=pthread/ppc64
> > gmake[2]: Entering directory `/tmp/gcc/aix43-gcc303/powerpc-ibm-aix4.3.3.0/libobjc'
> > <....  build lines omitted....>
> > generating symbol list for `libobjc.la'
> > nm -B -X32_64 -BCpg  .libs/archive.o .libs/class.o .libs/encoding.o .libs/gc.o .libs/hash.o .libs/init.o .libs/linking.o .libs/misc.o .libs/nil_method.o .libs/NXConstStr.o .libs/Object.o .libs/objects.o .libs/Protocol.o .libs/sarray.o .libs/selector.o .libs/sendmsg.o .libs/thr.o .libs/thr-objc.o  | awk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' |
> >  sort -u > .libs/libobjc.exp
> > /tmp/gcc/aix43-gcc303/gcc/xgcc -B/tmp/gcc/aix43-gcc303/gcc/ -B/usr/intel/pkgs/gcc/3.0.3/powerpc-ibm-aix4.3.3.0/bin/ -B/usr/intel/pkgs/gcc/3.0.3/powerpc-ibm-aix4.3.3.0/lib/ -isystem /usr/intel/pkgs/gcc/3.0.3/powerpc-ibm-aix4.3.3.0/include -shared -o .libs/libobjc.so.1  .libs/archive.o .libs/class.o .libs/encoding.o .libs/gc.o .libs/hash.o .libs/init.o .libs/linking.o .libs/misc.o .libs/nil_method.o
> >  .libs/NXConstStr.o .libs/Object.o .libs/objects.o .libs/Protocol.o .libs/sarray.o .libs/selector.o .libs/sendmsg.o .libs/thr.o .libs/thr-objc.o  -lc  -Wl,-bE:.libs/libobjc.exp -Wl,-bnoentry ${wl}-berok
> > ld: 0711-593 SEVERE ERROR: Symbol __objc_class_name_NXConstantString (entry 12) in object .libs/NXConstStr.o:
> >         The symbol refers to a csect with symbol number 14, which was not
> >         found.  The new symbol cannot be associated with a csect and
> >         is being ignored.
> > ld: 0711-593 SEVERE ERROR: Symbol __objc_class_name_Protocol (entry 16) in object .libs/Protocol.o:
> >         The symbol refers to a csect with symbol number 18, which was not
> >         found.  The new symbol cannot be associated with a csect and
> >         is being ignored.
> > collect2: ld returned 12 exit status
> > gmake[2]: *** [libobjc.la] Error 1
> > gmake[2]: Leaving directory `/tmp/gcc/aix43-gcc303/powerpc-ibm-aix4.3.3.0/libobjc'
> > gmake[1]: *** [all-target-libobjc] Error 2
> > gmake[1]: Leaving directory `/tmp/gcc/aix43-gcc303'
> > gmake: *** [bootstrap] Error 2
> > --------
> >
> > -Rob
> >
> >
> >
>
>

-- 
#include <sig.h>
------------------------------------------------------------------
Robert Nesius             rnesius@ichips.intel.com    503.712.2181
DPG Engineering Computing SW Applications Team


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]