[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