[cgma-dev] build issues, libtool

Jed Brown jed at 59A2.org
Thu Sep 17 23:35:41 CDT 2009


My system is automake 1.11, autoconf 2.64, libtool 2.2.6a, gcc 4.4.1.  I
pulled the most recent CGM (r3134), ran autoreconf -fi, and then
subsequently hit some build issues.  I don't know if this is due to new
versions on my end, or updates to CGM in the last couple months
(changelog suggests the former, but I'd rather not revert my environment
to confirm this unless it's important).

First, configuring using --with-pic isn't actually adding -fPIC where
needed, I had to put this into *FLAGS.  My configuration is now

  ../configure --enable-shared --without-acis --prefix=/home/jed/usr --with-occ=/opt/opencascade --enable-debug --with-pic CFLAGS=-fPIC CXXFLAGS=-fPIC FCFLAGS=-fPIC

More importantly, the libtool script that autoconf puts in the build
directory is broken on my system because it drops the -Wl, prefix that
gcc requires.  Using the system libtool (s#/bin/sh ./##) works
correctly.  Changing to --tag=CXX and g++ without using system libtool
does not error, but libcgm.so.0.0.0 is not created (and is thus not
usable).


/bin/sh ./libtool --tag=CC   --mode=link gcc  -fPIC  -g   -o libcgm.la -rpath /home/jed/usr/lib  init/libcgma_init.la  geom/OCC/libcubit_OCC.la  geom/virtual/libcubit_virtual.la geom/facet/libcubit_facet.la geom/Cholla/libcholla.la geom/facetbool/libcubit_facetbool.la geom/libcubit_geom.la util/libcubit_util.la -lTKMath -lTKXSBase -lTKernel -lTKShHealing -lTKBRep -lTKG3d -lTKBO -lTKFeat -lTKFillet -lTKG2d -lTKOffset -lTKBool -lTKGeomAlgo -lTKGeomBase -lTKPrim -lTKTopAlgo -lTKHLR -lTKIGES -lTKMesh -lTKPrim -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKSTEP -lTKSTL -lTKTopAlgo -lTKXSBase -lTKLCAF -lTKBinL no -lTKernel -lm
libtool: link: gcc -shared  --whole-archive init/.libs/libcgma_init.a geom/OCC/.libs/libcubit_OCC.a geom/virtual/.libs/libcubit_virtual.a geom/facet/.libs/libcubit_facet.a geom/Cholla/.libs/libcholla.a geom/facetbool/.libs/libcubit_facetbool.a geom/.libs/libcubit_geom.a util/.libs/libcubit_util.a --no-whole-archive  -L/opt/opencascade/lib /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/opencascade/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/libTKSTEPBase.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/li
b/libTKTopAlgo.so /opt/opencascade/lib/libTKGeomAlgo.so /opt/opencascade/lib/libTKBRep.so /opt/opencascade/lib/libTKGeomBase.so /opt/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 -lm -lc    -soname libcgm.so.0 -o .libs/libcgm.so.0.0.0
gcc: libcgm.so.0: No such file or directory
gcc: unrecognized option '-soname'
make[2]: *** [libcgm.la] Error 1
make[2]: Leaving directory `/home/jed/build/cgm/build'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jed/build/cgm/build'
make: *** [all] Error 2


The same occurs with libiGeom.

/bin/sh ../libtool --tag=CXX   --mode=link g++  -fPIC  -g -Wno-long-long   -o libiGeom.la -rpath /home/jed/usr/lib CATag.lo iGeom_CGMA.lo iGeomError.lo ../libcgm.la -lTKernel -lm
libtool: link: (cd ".libs" && rm -f "libiGeom.so.0" && ln -s "libiGeom.so.0.0.0" "libiGeom.so.0")
libtool: link: (cd ".libs" && rm -f "libiGeom.so" && ln -s "libiGeom.so.0.0.0" "libiGeom.so")
libtool: link: ar cru .libs/libiGeom.a  CATag.o iGeom_CGMA.o iGeomError.o
libtool: link: ranlib .libs/libiGeom.a
libtool: link: ( cd ".libs" && rm -f "libiGeom.la" && ln -s "../libiGeom.la" "libiGeom.la" )
cd .. && /bin/sh ./config.status itaps/iGeom-Defs.inc
config.status: creating itaps/iGeom-Defs.inc
make[2]: Leaving directory `/home/jed/build/cgm/build/itaps'
make[1]: Leaving directory `/home/jed/build/cgm/build/itaps'
$ ls -l .libs/
total 3984
-rw-r--r-- 1 jed users  781480 2009-09-17 23:16 CATag.o
-rw-r--r-- 1 jed users   44240 2009-09-17 23:16 iGeomError.o
-rw-r--r-- 1 jed users 1178200 2009-09-17 23:16 iGeom_CGMA.o
-rw-r--r-- 1 jed users 2054656 2009-09-17 23:16 libiGeom.a
lrwxrwxrwx 1 jed users      14 2009-09-17 23:16 libiGeom.la -> ../libiGeom.la
-rw-r--r-- 1 jed users    1944 2009-09-17 23:16 libiGeom.lai
lrwxrwxrwx 1 jed users      17 2009-09-17 23:16 libiGeom.so -> libiGeom.so.0.0.0
lrwxrwxrwx 1 jed users      17 2009-09-17 23:16 libiGeom.so.0 -> libiGeom.so.0.0.0


(Note the broken links.)  Again, using system libtool fixes the
problem.


After working around the broken libtool, CGM seems to be built, but I
had to kill the test suite after it was demanding more than 5GB of
memory.  Make check gives the output below (I killed it from elsewhere).
Is this a memory leak, or is it actually doing a stress test that I just
don't have enough memory for?  I'll get you a stack trace if that would
be helpful.


make[4]: Entering directory `/home/jed/build/cgm/build/itaps'
Using default input file: ../../itaps/../test/LeverArm.brep
Geometry engine set to: OCC Geometry Engine version 6.2.0


ITAPS GEOMETRY INTERFACE TEST PROGRAM:
   
   gLoad:
Constructed 1 Volume: 1
Model contents:
vertices: 99
edges: 159
faces: 63
regions: 1
Success
   tags: Tags defined on model: GLOBAL_ID, NAME
Success
   gentity sets: Success
   topology adjacencies: Success
   construct: Created swept volume 4
Success
   primitives: Success
   transforms: Success
   booleans: Updated volume(s): 11
Destroyed volume(s): 12
Updated volume(s): 13
Updated volume(s): 13
Destroyed volume(s): 14
Success
/bin/sh: line 5:  7247 Terminated              ${dir}$tst
FAIL: testgeom_occ
==================
1 of 1 test failed
==================




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/20090917/194cc78a/attachment.pgp>


More information about the cgma-dev mailing list