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

Tim Tautges tautges at mcs.anl.gov
Fri Oct 8 16:50:51 CDT 2010


I think using the 2 --enable options together does it; when I do that in my out of source builds, I see a problem with 
unresolved externs too, though they're from the OCC libraries.

- tim

On 10/08/2010 04:22 PM, Robert Smith wrote:
> Yes, this is an in source build.  Also, I'm using --enable-shared and
> --enable-static to get both types of libraries out of the build. I'm not
> sure if that's a contributing factor.
>
> --Bob
> On Oct 8, 2010, at 4:15 PM, Tim Tautges wrote:
>
>> 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
>>
>
>

-- 
================================================================
"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