[cgma-dev] Link error building parallel CGM with OCC

Robert Smith smithrm at mcs.anl.gov
Fri Oct 8 15:43:56 CDT 2010


You're right it isn't explicitly in the link line.

It's defined as follows in the Makefile:

libiGeom_la_LIBADD = $(top_builddir)/libcgm.la

--Bob

On Oct 8, 2010, at 3:06 PM, hongjun at mcs.anl.gov wrote:

> It looks your link doesn't have "libcgm" in the link library list  
> after "libiGeom", but I don't know why.
> Can you tell me how your "libiGeom_la_LIBADD" in itaps directory is  
> defined?
>
> Hong-Jun
>
>
> ----- "Robert Smith" <smithrm at mcs.anl.gov> wrote:
>
>> 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