
Il 10/12/2010 19:04, Dennis Clarke ha scritto:
Il 10/12/2010 17:38, Dennis Clarke ha scritto:
While trying to build ppl-0.10.2 on Solaris 8 with GCC 4.4.4 I have seen the following error in the 'make check' stage :
/bin/bash ../../libtool --tag=CXX --mode=link /usr/local/gcc4/bin/g++ -g -O2 -march=i386 -frounding-math -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -W -Wall -o membytes1 membytes1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/libppl.la -lm -L/usr/local/lib -lgmpxx -L/usr/local/lib -lgmp -R/usr/local/lib -R/usr/local/lib libtool: link: /usr/local/gcc4/bin/g++ -g -O2 -march=i386 -frounding-math -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -W -Wall -o .libs/membytes1 membytes1.o ../../utils/libppl_utils.a ../../tests/libppl_tests.a ../../src/.libs/libppl.so -L/usr/local/lib /usr/local/lib/libgmpxx.so /usr/local/gcc4/lib/libstdc++.so -lm /usr/local/lib/libgmp.so -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/local/gcc4/lib ld: warning: file /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../libstdc++.so: linked to /usr/local/gcc4/lib/libstdc++.so: attempted multiple inclusion of file /usr/local/gcc4/bin/g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src -I../../tests -I../../utils -DNDEBUG=1 -I/usr/local/include -g -O2 -march=i386 -frounding-math -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -O3 -Qy -fexceptions -D_TS_ERRNO -W -Wall -MT powerset1.o -MD -MP -MF .deps/powerset1.Tpo -c -o powerset1.o powerset1.cc
Can you try to replace PS in this file with something other (e.g. Q_PS) and recompile?
I'm sorry but I don't understand your instructions.
Is there a diff you want me to apply or some change to powerset1.cc you want ?
In tests/Powerset/powerset1.cc there are 9 occurrences of string PS, you should replace them with another string (e.g. Q_PS) and run the compilation command you wrote above.
If it compiles ok this means that solaris header files defines the macro PS.
OKay .. easily done thus :
[ titan ] $ diff tests/Powerset/powerset1.cc tests/Powerset/powerset1.cc.backup 30c30 < typedef Powerset<FCAIBVP> Q_PS; ---
typedef Powerset<FCAIBVP> PS;
34c34 < Q_PS ps1; ---
PS ps1;
37c37 < Q_PS ps2 = ps1; ---
PS ps2 = ps1;
46c46 < Q_PS ps3(d); ---
PS ps3(d);
70c70 < for (Q_PS::iterator i = ps3.begin(); i != ps3.end(); ++i) ---
for (PS::iterator i = ps3.begin(); i != ps3.end(); ++i)
77c77 < for (Q_PS::const_iterator i = ps3.begin(); i != ps3.end(); ++i) ---
for (PS::const_iterator i = ps3.begin(); i != ps3.end(); ++i)
84c84 < for (Q_PS::reverse_iterator i = ps3.rbegin(); i != ps3.rend(); ++i) ---
for (PS::reverse_iterator i = ps3.rbegin(); i != ps3.rend(); ++i)
91c91 < for (Q_PS::const_reverse_iterator i = ps3.rbegin(), ---
for (PS::const_reverse_iterator i = ps3.rbegin(),
98c98 < Q_PS ps_empty; ---
PS ps_empty;
[ titan ] $ cd tests/Powerset/ [ titan ] $ /usr/local/gcc4/bin/g++ -DHAVE_CONFIG_H -I. -I../.. \
-I../../src -I../../tests -I../../utils -DNDEBUG=1 -I/usr/local/include \ -g -O2 -march=i386 -frounding-math -malign-double
-mpreferred-stack-boundary=8 \
-m32 -O3 -Qy -fexceptions -D_TS_ERRNO -W -Wall -MT powerset1.o -MD \ -MP -MF .deps/powerset1.Tpo -v -c -o powerset1.o powerset1.cc
Using built-in specs. Target: i386-pc-solaris2.8 Configured with: ../../../gcc-4.4.4/configure --build=i386-pc-solaris2.8 --with-gnu-as --with-as=/usr/local/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld --with-cpu-32=i386 --with-arch-32=i386 --enable-stage1-languages=c --enable-nls --with-libiconv-prefix=/usr/local --enable-threads=posix --prefix=/usr/local/gcc4 --with-local-prefix=/usr/local --enable-shared --enable-multilib --with-system-zlib --with-pkgversion='Blastwave.org Inc. Tue May 4 18:49:38 GMT 2010' --with-bugurl=http://wwww.blastwave.org/support --enable-languages=c,c++,objc,fortran,ada --enable-bootstrap Thread model: posix gcc version 4.4.4 (Blastwave.org Inc. Tue May 4 18:49:38 GMT 2010) COLLECT_GCC_OPTIONS='-DHAVE_CONFIG_H' '-I.' '-I../..' '-I../../src' '-I../../tests' '-I../../utils' '-DNDEBUG=1' '-I/usr/local/include' '-g' '-O2' '-march=i386' '-frounding-math' '-malign-double' '-mpreferred-stack-boundary=8' '-m32' '-O3' '-Qy' '-fexceptions' '-D_TS_ERRNO' '-W' '-Wall' '-MT' 'powerset1.o' '-MD' '-MP' '-MF' '.deps/powerset1.Tpo' '-v' '-c' '-o' 'powerset1.o' '-shared-libgcc' /usr/local/gcc4/libexec/gcc/i386-pc-solaris2.8/4.4.4/cc1plus -quiet -v -I. -I../.. -I../../src -I../../tests -I../../utils -I/usr/local/include -MD powerset1.d -MF .deps/powerset1.Tpo -MP -MT powerset1.o -DHAVE_CONFIG_H -DNDEBUG=1 -D_TS_ERRNO powerset1.cc -quiet -dumpbase powerset1.cc -march=i386 -malign-double -mpreferred-stack-boundary=8 -m32 -auxbase-strip powerset1.o -g -O2 -O3 -W -Wall -version -frounding-math -fexceptions -o /var/tmp//ccdg9w9B.s ignoring nonexistent directory "/usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../../i386-pc-solaris2.8/include" ignoring duplicate directory "/usr/local/include" as it is a non-system directory that duplicates a system directory #include "..." search starts here: #include <...> search starts here: . ../.. ../../src ../../tests ../../utils /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../../include/c++/4.4.4 /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../../include/c++/4.4.4/i386-pc-solaris2.8 /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../../include/c++/4.4.4/backward /usr/local/include /usr/local/gcc4/include /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/include /usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/include-fixed /usr/include End of search list. GNU C++ (Blastwave.org Inc. Tue May 4 18:49:38 GMT 2010) version 4.4.4 (i386-pc-solaris2.8) compiled by GNU C version 4.4.4, GMP version 5.0.1, MPFR version 2.4.2. GGC heuristics: --param ggc-min-expand=82 --param ggc-min-heapsize=98255 Compiler executable checksum: 4d5a5900091ff6e382c3c06dea0e82ea COLLECT_GCC_OPTIONS='-DHAVE_CONFIG_H' '-I.' '-I../..' '-I../../src' '-I../../tests' '-I../../utils' '-DNDEBUG=1' '-I/usr/local/include' '-g' '-O2' '-march=i386' '-frounding-math' '-malign-double' '-mpreferred-stack-boundary=8' '-m32' '-O3' '-Qy' '-fexceptions' '-D_TS_ERRNO' '-W' '-Wall' '-MT' 'powerset1.o' '-MD' '-MP' '-MF' '.deps/powerset1.Tpo' '-v' '-c' '-o' 'powerset1.o' '-shared-libgcc' /usr/local/bin/as -v -I. -I../.. -I../../src -I../../tests -I../../utils -I/usr/local/include -V -Qy -s -o powerset1.o /var/tmp//ccdg9w9B.s GNU assembler version 2.20.1 (i386-pc-solaris2.8) using BFD version (GNU Binutils) 2.20.1.20100303 COMPILER_PATH=/usr/local/gcc4/libexec/gcc/i386-pc-solaris2.8/4.4.4/:/usr/local/gcc4/libexec/gcc/i386-pc-solaris2.8/4.4.4/:/usr/local/gcc4/libexec/gcc/i386-pc-solaris2.8/:/usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/:/usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/:/usr/ccs/bin/ LIBRARY_PATH=/usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/:/usr/ccs/lib/:/usr/local/gcc4/lib/gcc/i386-pc-solaris2.8/4.4.4/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-DHAVE_CONFIG_H' '-I.' '-I../..' '-I../../src' '-I../../tests' '-I../../utils' '-DNDEBUG=1' '-I/usr/local/include' '-g' '-O2' '-march=i386' '-frounding-math' '-malign-double' '-mpreferred-stack-boundary=8' '-m32' '-O3' '-Qy' '-fexceptions' '-D_TS_ERRNO' '-W' '-Wall' '-MT' 'powerset1.o' '-MD' '-MP' '-MF' '.deps/powerset1.Tpo' '-v' '-c' '-o' 'powerset1.o' '-shared-libgcc' [ titan ] $
[ titan ] $ ls -l powerset1.o -rw-r--r-- 1 dclarke csw 479944 Dec 10 18:21 powerset1.o [ titan ] $ file powerset1.o powerset1.o: ELF 32-bit LSB relocatable 80386 Version 1
That looks better thus far. I'll go back and reconfigure, make and then run make check again from scratch and see what I get.
Thank you and I'll let you know what I see.