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

Tim Tautges tautges at mcs.anl.gov
Fri Oct 8 16:09:49 CDT 2010


I don't see this problem, in serial at least (will try building in parallel next).

- tim

On 10/08/2010 03:43 PM, Robert Smith wrote:
> 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
>
>

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
          phone: (608) 263-8485      1500 Engineering Dr.
            fax: (608) 263-4499      Madison, WI 53706



More information about the cgma-dev mailing list