[cgma-dev] Link error building parallel CGM with OCC
Robert Smith
smithrm at mcs.anl.gov
Fri Oct 8 14:04:45 CDT 2010
Has anyone encountered a problem building a parallel version of CGM
with OCC (the patched version)?
This is built on the new Ubuntu 10 release installed on the ANL
compute servers (thrash specifically). It is using MPI compiled with
GCC 4.4.3.
The issue comes during make check. It first appears in the src/itaps
directory when building chaman. But it occurs in all 3 link steps
taken in that directory.
The log lines for the compile and link are below.
make[3]: Entering directory `/nfs/fathom/libs/cgm/cgm-4.0.1/parallel/
src/itaps'
make chaman testgeom_occ partest
make[4]: Entering directory `/nfs/fathom/libs/cgm/cgm-4.0.1/parallel/
src/itaps'
/home/fathom/3rdparty/mpich2/mpich2-1.2.1/gcc/bin/mpicxx -
DHAVE_CONFIG_H -I. -I.. -I../geom/parallel -
DLITTLE_ENDIAN=BYTE_ORDER -DTEMPLATE_DEFS_INCLUDED -DHAVE_OCC -
DHAVE_OCC_IGES -DHAVE_OCC_STEP -DHAVE_OCC_STL -DSRCDIR=. -I../util -
I../geom -I../init -I../geom/parallel -DUSE_MPI -Wall -pipe -
pedantic -O2 -DNDEBUG -MT chaman.o -MD -MP -MF .deps/chaman.Tpo -c -o
chaman.o chaman.cc
mv -f .deps/chaman.Tpo .deps/chaman.Po
/bin/sh ../libtool --tag=CXX --mode=link /home/fathom/3rdparty/
mpich2/mpich2-1.2.1/gcc/bin/mpicxx -Wall -pipe -pedantic -O2 -
DNDEBUG -L/home/fathom/3rdparty/occ/OpenCASCADE6.3.0/gcc/lib -o
chaman chaman.o libiGeom.la -lm
libtool: link: /home/fathom/3rdparty/mpich2/mpich2-1.2.1/gcc/bin/
mpicxx -Wall -pipe -pedantic -O2 -DNDEBUG -o .libs/chaman chaman.o -L/
home/fathom/3rdparty/occ/OpenCASCADE6.3.0/gcc/lib ./.libs/libiGeom.so -
lm -Wl,-rpath -Wl,/home/fathom/libs/cgm/cgm-4.0.1/parallel/gcc_optocc/
lib
./.libs/libiGeom.so: undefined reference to
`CGMReadParallel::CGMReadParallel(GeometryQueryTool*, CGMParallelComm*)'
./.libs/libiGeom.so: undefined reference to
`CGMReadParallel::load_file(char const*, char const*, char const*, int
const*, int)'
collect2: ld returned 1 exit status
make[4]: *** [chaman] Error 1
I've looked at .libs/libiGeom.so. It does have undefined references to
the above routines. But it also has a dependency on the libcgm.so.0
shared library that exists in the main CGM source directory
(in .libs). And that shared library has definitions for the routines.
--Bob
More information about the cgma-dev
mailing list