From: <an...@tn...> - 2004-05-07 19:22:37
|
Hi John Peterson wrote: > We seem to be able to build and link libmesh successfully, using > our configure system to build with the xlC compiler > and building static libraries. If you post the error messages > maybe somebody could help you solve the problem. OK, I was able to build and link libmesh with gcc 3.3.1. For that to happen, the DLFLAGS have to be set to -Wl,-brtl. After this, there were problems compiling and linking the libraries in the contrib directory. Most of them did fine after adding LDFLAGS = -lm Now I am stuck with parmetis and gzstream. In both directories I get linker errors. The compiler settings in Makefile.common are the following: -------------- hosttype = powerpc-ibm-aix5.1.0.0 CXX = g++ CC = gcc LDFLAGS = -lm DLFLAGS = -Wl,-brtl LIBS = FLIBS = -L/usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.1 -L/usr/local/bin/../lib/g cc-lib -L/usr/local/pkg/gcc/gcc-3.3.1/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.1 -L/usr/local/bin/../lib/gcc-lib /powerpc-ibm-aix5.1.0.0/3.3.1/../../.. -L/usr/local/pkg/gcc/gcc-3.3.1/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.1 /../../.. -lfrtbegin -lg2c -lm -lgcc_s /usr/local/bin/../lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.1/libgcc.a -lg GXX-VERSION = gcc3.3 CXXSHAREDFLAG = -shared CSHAREDFLAG = -shared RPATHFLAG = -Wl,-rpath, ------------- For gzstream I get linker errors of the form --- Building Parmetis ------------------------ gmake[1]: Entering directory `/wrkdir/luthi/libmesh/contrib/parmetis/Lib' Linking ../../lib/powerpc-ibm-aix5.1.0.0_opt/libparmetis.so ld: 0711-317 ERROR: Undefined symbol: .MPI_Barrier ld: 0711-317 ERROR: Undefined symbol: .MPI_Allreduce ld: 0711-317 ERROR: Undefined symbol: .MPI_Reduce ld: 0711-317 ERROR: Undefined symbol: .MPI_Irecv ld: 0711-317 ERROR: Undefined symbol: .MPI_Isend -------------- and so on. For gzstream the error messages are -------------- Linking ../lib/powerpc-ibm-aix5.1.0.0_opt/libgzstream.so ld: 0711-317 ERROR: Undefined symbol: .gzopen ld: 0711-317 ERROR: Undefined symbol: .gzclose ld: 0711-317 ERROR: Undefined symbol: .gzread ld: 0711-317 ERROR: Undefined symbol: .gzwrite ld: 0711-317 ERROR: Undefined symbol: .gzseek ld: 0711-317 ERROR: Undefined symbol: vtable for std::basic_streambuf<char, std::char_traits<char> > -------------- and so on. The strange thing here is that std::basic_streambuf is not found. ================ If I compile with xlC (with the following compiler settings) CXX = mpCC_r -+ -q64 CC = mpcc_r -q64 there are some warnings about inlining ---------------- Compiling C++ (in optimized mode) src/base/dof_map.C... 1500-029: (W) WARNING: subprogram std::_Unique_copy<std::_Ptrit<unsigned int,long,unsigned int *,unsigned int &,unsigned int *,unsigned int &>,std::_Ptrit<unsigned int,long,unsigned int *,unsigned int &,unsigned int *,unsigned int &> >(_Ptrit<unsigned int,long,unsigned int *,unsigned int & could not be inlined. ---------------- and then there is a fatal error: ---------------- "/u1/uaf/luthi/wrkdir/libmesh/include/mesh/mesh_refinement.h", line 38.11: 1540-0836 (S) The #include file <ext/hash_map> is not found. gmake: *** [src/geom/elem_refinement.powerpc-ibm-aix5.1.0.0.o] Error 1 ---------------- Any hints are welcome. Martin |