[Bug c++/40871] New: g++ does not find lstdc++ on AIX
On AIX 5.3, g++ version 4.4.0 and 4.4.1 cannot find the libstdc++ in default location. This did not occur with 4.3.x. The problem has been already discussed on the mailing list in this thread: http://gcc.gnu.org/ml/gcc-help/2009-06/msg00092.html and a patch was issued. It was supposedly committed to the main branch after 4.4.0, but for some reason was not present (or did not solve the issue) in 4.4.1. I have compiled gcc with --disable-shared and use the AIX linker ld, not the GNU linker. This is the verbose compilation output of a simple Hello World program written in C++: Using built-in specs. Target: powerpc-ibm-aix5.3.0.0 Configured with: /hpc/work/fernandz/gnusrc/gcc-4.4.1/configure --enable-threads --enable-languages=c,c++ --prefix=/hpc/work/fernandz/gnu --enable-threads --disable-shared --enable-version-specific-runtime-libs --disable-nls --with-gmp=/hpc/work/fernandz/gnu --with-mpfr=/hpc/work/fernandz/gnu --with-ppl=/hpc/work/fernandz/gnu --with-cloog=/hpc/work/fernandz/gnu Thread model: aix gcc version 4.4.1 (GCC) COLLECT_GCC_OPTIONS='-v' '-o' 'hello' /hpc/work/fernandz/gnu/libexec/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/cc1plus -quiet -v -D_ALL_SOURCE hellow.cpp -quiet -dumpbase hellow.cpp -auxbase hellow -version -o /hpc/home/fernandz/User-Tmp/ccrprayy.s ignoring nonexistent directory "/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/../../../../powerpc-ibm-aix5.3.0.0/include" #include "..." search starts here: #include <...> search starts here: /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/include/c++ /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/include/c++/powerpc-ibm-aix5.3.0.0 /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/include/c++/backward /usr/local/include /hpc/work/fernandz/gnu/include /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/include /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.4.1 (powerpc-ibm-aix5.3.0.0) compiled by GNU C version 4.4.1, GMP version 4.3.1, MPFR version 2.4.1-p5. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: f579180f2de70dc0754151f494907fb7 COLLECT_GCC_OPTIONS='-v' '-o' 'hello' as -u -mppc -o /hpc/home/fernandz/User-Tmp/ccwslsmj.o /hpc/home/fernandz/User-Tmp/ccrprayy.s COMPILER_PATH=/hpc/work/fernandz/gnu/libexec/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/:/hpc/work/fernandz/gnu/libexec/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/:/hpc/work/fernandz/gnu/libexec/gcc/powerpc-ibm-aix5.3.0.0/:/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/:/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/ LIBRARY_PATH=/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/:/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'hello' /hpc/work/fernandz/gnu/libexec/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/collect2 -bpT:0x1000 -bpD:0x2000 -btextro -bnodelcsect -o hello /lib/crt0.o -L/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1 -L/hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/../../.. /hpc/home/fernandz/User-Tmp/ccwslsmj.o -lstdc++ -lsupc++ -lm /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/libgcc.a -lc /hpc/work/fernandz/gnu/lib/gcc/powerpc-ibm-aix5.3.0.0/4.4.1/libgcc.a collect2: library libstdc++ -lsupc++ not found -- Summary: g++ does not find lstdc++ on AIX Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: efernandez at physiomics-plc dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40871
[Bug c++/40871] g++ does not find lstdc++ on AIX
--- Comment #2 from efernandez at physiomics-plc dot com 2009-07-27 11:01 --- Thanks for the info. So can we make this patch available in next gcc-4.4.2 release ? g++ is definitely broken on AIX and there is no point to delay a so important fix for this platform. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40871
[Bug target/35397] Problem handling denormalized numbers under AIX
--- Comment #2 from efernandez at physiomics-plc dot com 2008-08-13 14:11 --- Will the fix be backported to the 4.2 branch ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35397
[Bug target/35397] Problem handling denormalized numbers under AIX
--- Comment #4 from efernandez at physiomics-plc dot com 2008-09-01 14:09 --- Thanks David. Would that be worth it to make it appear in the regression list? How can it be added to that bug list? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35397
[Bug c++/35397] New: Problem handling denormalized numbers under AIX
I face a problem when trying to convert string to double numbers, when the string represents a denormalized number. I use g++ 4.2.2 on powerpc-ibm-aix5.3.0.0. Example: - #include #include #include int main() { std::stringstream stream("5.6 0 0.205867 1.0809 7.22644 0.373206 -5.84675e-317 1.5 0.00433641 1.45331e-45"); std::vector vals; double x; while (stream >> x) { vals.push_back(x); } std::vector::iterator it; for (it=vals.begin(); it> st) { x = atof(st.c_str()); vals.push_back(x); } - then that works, this displays: 5.6 0 0.205867 1.0809 7.22644 0.373206 -5.84675e-317 1.5 0.00433641 1.45331e-45 I have seen there were some denormalized-related options for g++ on Alpha, but they are not implemented on AIX. Moreover, I don't see this issue under Linux/gcc 4.2.2. -- Summary: Problem handling denormalized numbers under AIX Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: efernandez at physiomics-plc dot com GCC host triplet: powerpc-ibm-aix5.3.0.0 GCC target triplet: powerpc-ibm-aix5.3.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35397
[Bug libstdc++/34626] New: Header constructors_destructor_fn_imps.hpp not found on AIX 5.3/IBM PPC
Hi, I have this problem when compiling gcc-4.2.2 under IBM AIX 5.3 with PowerPC CPUs (using 32-bit address mode): gmake[3]: Entering directory `/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3' Making all in include gmake[4]: Entering directory `/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include' if [ ! -d "./powerpc-ibm-aix5.3.0.0/bits/extc++.h.gch" ]; then \ mkdir -p ./powerpc-ibm-aix5.3.0.0/bits/extc++.h.gch; \ fi; \ /hpc/work/fernandz/gnuobj/./gcc/xgcc -shared-libgcc -B/hpc/work/fernandz/gnuobj/./gcc -nostdinc++ -L/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src -L/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.lib s -B/hpc/work/fernandz/gnu/powerpc-ibm-aix5.3.0.0/bin/ -B/hpc/work/fernandz/gnu/powerpc-ibm-aix5.3.0.0/lib/ -isystem /hpc/work/fernandz/gnu/powerpc-ibm-aix5.3.0.0/include -isystem /hpc/work/fernandz/gnu/powerpc-ibm-aix5.3.0.0/sys-include -Winvalid-pch -Wno-deprecated -x c++-header -g -O2 -I/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ powerpc-ibm-aix5.3.0.0 -I/hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include -I/hpc/work/fernandz/gnusrc/gcc-4.2.2/libstdc++-v3/libsupc++ -O2 -g /hpc/work/fernandz/gnusrc/gcc-4.2.2/libstdc++-v3/include/precompiled/ext c++.h -o powerpc-ibm-aix5.3.0.0/bits/extc++.h.gch/O2g.gch In file included from /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/detail/standard_policies.hpp:51, from /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/assoc_container.hpp:52, from /hpc/work/fernandz/gnusrc/gcc-4.2.2/libstdc++-v3/include/precompiled/ext c++.h:59: /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/hash_policy.hpp:293:81: error: ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp: No such file or directory In file included from /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/detail/rb_tree_map_/rb_tree_.hpp:54, from /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/detail/container_base_dispatch.hpp:61, from /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/assoc_container.hpp:53, from /hpc/work/fernandz/gnusrc/gcc-4.2.2/libstdc++-v3/include/precompiled/ext c++.h:59: /hpc/work/fernandz/gnuobj/powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/ex t/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp:473:81: error: ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp: No such file or directory gmake[4]: *** [powerpc-ibm-aix5.3.0.0/bits/extc++.h.gch/O2g.gch] Error 1 The file constructors_destructor_fn_imps.hpp definitely exists, but is not found. Note I do NOT compile in the same directory than the source. My configure options were: /hpc/work/fernandz/gnusrc/gcc-4.2.2/configure --enable-languages=c,c++ --prefix=/hpc/work/fernandz/gnu --enable-threads --disable-shared --enable-version-specific-runtime-libs --disable-nls. I have also tried without the "--enable-threads --disable-shared --enable-version-specific-runtime-libs --disable-nls" options, with the same result. I double-checked the doc I was not doing anything wrong. Am I missing something? -- Summary: Header constructors_destructor_fn_imps.hpp not found on AIX 5.3/IBM PPC Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: efernandez at physiomics-plc dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34626
[Bug libstdc++/34626] Header constructors_destructor_fn_imps.hpp not found on AIX 5.3/IBM PPC
--- Comment #2 from efernandez at physiomics-plc dot com 2007-12-30 18:59 --- GNU tar (AIX-provided tar is not able to create the Longlink anyway): bash-2.05a$ /usr/local/gnu/bin/tar --version tar (GNU tar) 1.13 Copyright (C) 1988, 92,93,94,95,96,97,98, 1999 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by John Gilmore and Jay Fenlason. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34626