Bug 10951

Summary: gcc-3.3 (libstdc++) fails to bootstrap on AIX 4.3.3
Product: gcc Reporter: Jerome Zago <jerome.zago>
Component: bootstrapAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED INVALID    
Severity: normal CC: gcc-bugs
Priority: P2    
Version: 3.3   
Target Milestone: ---   
Host: powerpc-ibm-aix4.3.3.0 Target: powerpc-ibm-aix4.3.3.0
Build: powerpc-ibm-aix4.3.3.0 Known to work:
Known to fail: Last reconfirmed:
Attachments: configure --disable-nls and make bootstrap output

Description Jerome Zago 2003-05-23 12:23:06 UTC
I used the vendor toolchain and GNU Make 3.80.

+++++
$ $src/configure --disable-nls
[...]

$ cat config.status
#!/bin/sh
# This file was generated automatically by configure.  Do not edit.
# This directory was configured as follows:
../src/gcc-3.3/configure --with-gcc-version-
trigger=/reengineering/.jza/gcc/src/gcc-3.3/gcc/version.c --host=powerpc-ibm-
aix4.3.3.0 --disable-nls --norecursion 
#  using "mt-frag"

$ make bootstrap
[...]
/reengineering/.jza/gcc/build/gcc/g++ -shared-libgcc -
B/reengineering/.jza/gcc/build/gcc/ -nostdinc++ -B/usr/local/powerpc-ibm-
aix4.3.3.0/bin/ -B/usr/local/powerpc-ibm-aix4.3.3.0/lib/ -
isystem /usr/local/powerpc-ibm-aix4.3.3.0/include -pthread -g -O2 -pthread -
pthread -o abi_check abi_check.o  -L/reengineering/.jza/gcc/build/powerpc-ibm-
aix4.3.3.0/pthread/libstdc++-v3/src -L/reengineering/.jza/gcc/build/powerpc-ibm-
aix4.3.3.0/pthread/libstdc++-v3/src/.libs -lm
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::basic_string[in-charge](char 
const*, std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy
(std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::basic_string[in-charge]
(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
ld: 0711-317 ERROR: Undefined symbol: std::basic_ostream<char, 
std::char_traits<char> >& std::endl<char, std::char_traits<char> >
(std::basic_ostream<char, std::char_traits<char> >&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >::operator<<(std::basic_ostream<char, 
std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> 
>&))
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >& std::operator<< <std::char_traits<char> >
(std::basic_ostream<char, std::char_traits<char> >&, char)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >& std::operator<< <std::char_traits<char> >
(std::basic_ostream<char, std::char_traits<char> >&, char const*)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, 
std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >::operator<<(unsigned long)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ostream<char, 
std::char_traits<char> >::operator<<(long)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::find(char const*, unsigned 
long, unsigned long) const
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::find(char, unsigned long) const
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::replace(unsigned long, unsigned 
long, char const*, unsigned long)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::assign(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::rfind(char, unsigned long) const
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned 
long)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_leak_hard()
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::ios_base[not-in-charge]()
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_ios<char, 
std::char_traits<char> >
ld: 0711-317 ERROR: Undefined symbol: VTT for std::basic_istringstream<char, 
std::char_traits<char>, std::allocator<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ios<char, 
std::char_traits<char> >::init(std::basic_streambuf<char, 
std::char_traits<char> >*)
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_istringstream<char, 
std::char_traits<char>, std::allocator<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::basic_streambuf<char, 
std::char_traits<char> >::basic_streambuf[not-in-charge]()
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_stringbuf<char, 
std::char_traits<char>, std::allocator<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::basic_string[in-charge](char 
const*, unsigned long, std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_istream<char, 
std::char_traints<char> >::operator>>(int&)
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_streambuf<char, 
std::char_traits<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::locale::~locale [in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::~ios_base [not-in-charge]
()
ld: 0711-317 ERROR: Undefined symbol: .std::basic_streambuf<char, 
std::char_traits<char> >::~basic_streambuf [not-in-charge]()
ld: 0711-317 ERROR: Undefined symbol: VTT for std::basic_ifstream<char, 
std::char_traits<char> >
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_ifstream<char, 
std::char_traits<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::basic_filebuf<char, 
std::char_traits<char> >::basic_filebuf[in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .std::basic_filebuf<char, 
std::char_traits<char> >::open(char const*, std::_Ios_Openmode)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ios<char, 
std::char_traits<char> >::clear(std::_Ios_Iostate)
ld: 0711-317 ERROR: Undefined symbol: .std::__basic_file<char>::is_open() const
ld: 0711-317 ERROR: Undefined symbol: std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_S_empty_rep_storage
ld: 0711-317 ERROR: Undefined symbol: .std::basic_ios<char, 
std::char_traits<char> >::widen(char) const
ld: 0711-317 ERROR: Undefined symbol: .std::basic_istream<char, 
std::char_traits<char> >& std::getline<char, std::char_traits<char>, 
std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_filebuf<char, 
std::char_traits<char> >
ld: 0711-317 ERROR: Undefined symbol: .std::basic_filebuf<char, 
std::char_traits<char> >::close()
ld: 0711-317 ERROR: Undefined symbol: .std::__basic_file<char>::~__basic_file 
[in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .__cxa_call_unexpected
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::~basic_string [in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_Rep::_M_dispose
(std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::__default_alloc_template<(bool)1, 
(int)0>::deallocate(void*, unsigned long)
ld: 0711-317 ERROR: Undefined symbol: .std::__default_alloc_template<(bool)1, 
(int)0>::allocate(unsigned long)
ld: 0711-317 ERROR: Undefined symbol: .std::locale::classic()
ld: 0711-317 ERROR: Undefined symbol: .std::collate<char> const& 
std::use_facet<std::collate<char> >(std::locale const&)
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::Init::~Init [in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .std::ios_base::Init::Init[in-charge]()
ld: 0711-317 ERROR: Undefined symbol: .std::__throw_length_error(char const*)
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_Rep::_S_create(unsigned long, 
std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::__throw_logic_error(char const*)
ld: 0711-317 ERROR: Undefined symbol: .std::__throw_bad_alloc()
ld: 0711-317 ERROR: Undefined symbol: __gxx_personality_v0
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
make[7]: *** [abi_check] Error 1
[...]
+++++

Please tell me if you need more details. Thanks for your time.
Comment 1 Jerome Zago 2003-05-23 12:28:34 UTC
Created attachment 4058 [details]
configure --disable-nls and make bootstrap output
Comment 2 Dara Hazeghi 2003-05-26 08:09:10 UTC
Hello,

it looks like libstdc++ is not being correctly found and included when linking abi_check.o. First, do 
you have all the necessary patches installed (per the instructions at http://gcc.gnu.org/install/
specific.html#*-ibm-aix* ). Secondly, it doesn't look like from the command line indicated that 
libstdc++ is included in the link line. What happens if you repeat the last command, but add -
lstdc++ before -lm? Thanks,

Dara
Comment 3 Andrew Pinski 2003-05-27 18:01:43 UTC
See Dara's question.
Comment 4 Jerome Zago 2003-05-27 19:20:58 UTC
Adding -lstdc++ didn't solve the problem. 
According to my sysadmin, APAR IY26685 (AIX 4.3) isn't installed indeed. I'll notify you 
whether applying it solves the problem, this might be in a few weeks though, he is busy... 
Comment 5 Dara Hazeghi 2003-06-13 15:12:00 UTC
Jerome,

any news on this report? Have you been able to get the patch installed? Thanks,

Dara
Comment 6 Jerome Zago 2003-07-01 18:26:54 UTC
Not yet, too much work :( 
Comment 7 David Edelsohn 2003-07-12 23:28:03 UTC
Are you using AIX assembler, linker, nm, ar, etc., or are you using GNU Binutils
assembler, linker, nm, ar, etc.?
Comment 8 Andrew Pinski 2003-08-29 14:28:50 UTC
No feedback in 3 months and  3.3 is known to work on AIX 4.3.3. so closing.