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

Tim Tautges tautges at mcs.anl.gov
Fri Oct 8 16:15:03 CDT 2010


I don't see this problem in parallel either.  I've (double/triple/quadruple) checked I don't have any local mods.  Can 
you try an autoreconf?  Also, these are all out of source builds, is the one you're doing an in source build?

- tim

On 10/08/2010 04:09 PM, Tim Tautges wrote:
> 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