[cgma-dev] build issues, libtool
Jed Brown
jed at 59A2.org
Fri Sep 18 00:30:11 CDT 2009
The libtool issue also applies to MOAB, but 'ln -sf /usr/bin/libtool
libtool' in the build directory works for me. In addition, though MOAB
supports --with-imesh=nofortran, this leaks since CGM does not have this
capability, hence FC_FUNC_ is defined when iGeom.h is included and thus
pollutes iMesh.h (iRel.h includes them in this order). Can you
namespace the FC_FUNC_ macro to be MOAB_FC_FUNC_ and CGM_FC_FUNC_?
The libtool issue also applies to Lasso. In the Lasso build, I need to
use C++ and mpicxx because MOAB is built in parallel.
/bin/sh ./libtool --tag=CC --mode=link gcc -fPIC -o rtestc rtestc.o libiRel.la /home/jed/usr/lib/libiGeom.la /home/jed/usr/lib/libiMesh.la
libtool: link: gcc -fPIC -o .libs/rtestc rtestc.o ./.libs/libiRel.so /home/jed/usr/lib/libiGeom.so -L/opt/opencascade/lib /home/jed/usr/lib/libcgm.so /opt/opencascade/lib/libTKFeat.so /
opt/opencascade/lib/libTKHLR.so /opt/opencascade/lib/libTKIGES.so /opt/opencascade/lib/libTKOffset.so /opt/opencascade/lib/libTKFillet.so /opt/opencascade/lib/libTKBool.so /opt/opencasca
de/lib/libTKBO.so /opt/opencascade/lib/libTKPrim.so /opt/opencascade/lib/libTKSTEP.so /opt/opencascade/lib/libTKSTEPAttr.so /opt/opencascade/lib/libTKSTEP209.so /opt/opencascade/lib/libT
KSTEPBase.so /opt/opencascade/lib/libTKSTL.so /opt/opencascade/lib/libTKMesh.so /opt/opencascade/lib/libTKXSBase.so /opt/opencascade/lib/libTKShHealing.so /opt/opencascade/lib/libTKBinL.
so /opt/opencascade/lib/libTKLCAF.so /opt/opencascade/lib/libTKTopAlgo.so /opt/opencascade/lib/libTKGeomAlgo.so /opt/opencascade/lib/libTKBRep.so /opt/opencascade/lib/libTKGeomBase.so /o
pt/opencascade/lib/libTKG3d.so /opt/opencascade/lib/libTKG2d.so /opt/opencascade/lib/libTKMath.so /opt/opencascade/lib/libTKCDF.so /opt/opencascade/lib/libTKernel.so -ldl -lpthread /home
/jed/usr/lib/libiMesh.so /home/jed/usr/lib/libMOAB.so -lnetcdf_c++ -lnetcdf -lhdf5
/home/jed/usr/lib/libiMesh.so: undefined reference to `ompi_mpi_cxx_op_intercept'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Win::Free()'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Datatype::Free()'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Comm::Comm()'
collect2: ld returned 1 exit status
make[2]: *** [rtestc] Error 1
make[2]: Leaving directory `/home/jed/build/lasso/build'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jed/build/lasso/build'
make: *** [all] Error 2
The build succeeds when I use --tag=CXX and s/gcc/mpicxx/.
My last remaining problem is with MOAB, I now need to use a C++ linker
(mpicxx) when linking with libiMesh (despite calling from pure C where I
would like to link with mpicc) due to
/home/jed/usr/lib/libiMesh.so: undefined reference to `ompi_mpi_cxx_op_intercept'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Datatype::Free()'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Comm::Comm()'
/home/jed/usr/lib/libiMesh.so: undefined reference to `MPI::Win::Free()'
Thanks,
Jed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20090918/ce0c6096/attachment.pgp>
More information about the cgma-dev
mailing list