[cgma-dev] Finding ACIS in Cubit

Jed Brown jed at 59A2.org
Tue Oct 20 05:08:25 CDT 2009


Tim Tautges wrote:
> Note that if you use the CGM_LIBS_LINK make variable from cgm.make (or
> IGEOM_LIBS from iGeom-Defs.inc), you'll pull in the right libraries to
> resolve what's in CGM or iGeom.

It's CGM's make check that is failing, and I do use iGeom-Defs.inc to
define the linker options in my own stuff.

>> When building with libcubit, the correct behavior is to build almost
>> nothing.  The cubit library already contains most of CGM.  The CGM
>> build just provides the headers an a bit of initialization code (and
>> stuff like the iGeom API.)

Okay, but libcubiti19.so does not define these symbols.  Either name
mangling is different, or their version of CGM is different.

CGM's make check fails at the link stage with a bunch of undefined
symbols, the first is

./.libs/libiGeom.so: undefined reference to `GeometryQueryTool::fire_ray(Body*, CubitVector, CubitVector, DLIList<double>&, DLIList<RefEntity*>*)'

$ nm -D itaps/.libs/libiGeom.so |grep fire_ray
                 U _ZN17GeometryQueryTool8fire_rayEP4Body11CubitVectorS2_R7DLIListIdEPS3_IP9RefEntityE
$ nm -D ~/usr/cubit-20091014/bin/libcubiti19.so |grep fire_ray
000000000127ba30 T _ZN17GeometryQueryTool8fire_rayER11CubitVectorS1_R7DLIListIP14TopologyEntityERS2_IdEidPS5_
000000000127b550 T _ZN17GeometryQueryTool8fire_rayER11CubitVectorS1_R7DLIListIP9RefEntityERS2_IdEidPS5_
0000000001045130 T _ZNK15AcisQueryEngine8fire_rayER11CubitVectorS1_R7DLIListIP14TopologyBridgeERS2_IdEidPS5_
000000000104b6b0 T _ZNK15AcisQueryEngine8fire_rayER11CubitVectorS1_R7DLIListIP6ENTITYERS2_IdEPS5_di
00000000011c75d0 T _ZNK16FacetQueryEngine8fire_rayER11CubitVectorS1_R7DLIListIP14TopologyBridgeERS2_IdEidPS5_
000000000117e7e0 T _ZNK18VirtualQueryEngine8fire_rayER11CubitVectorS1_R7DLIListIP14TopologyBridgeERS2_IdEidPS5_

It's not due to incompatible name mangling, the Cubit version is
actually a completely different interface:

$ nm -D itaps/.libs/libiGeom.so |grep fire_ray |c++filt
                 U GeometryQueryTool::fire_ray(Body*, CubitVector, CubitVector, DLIList<double>&, DLIList<RefEntity*>*)
$ nm -D ~/usr/cubit-20091014/bin/libcubiti19.so |grep fire_ray |c++filt
000000000127ba30 T GeometryQueryTool::fire_ray(CubitVector&, CubitVector&, DLIList<TopologyEntity*>&, DLIList<double>&, int, double, DLIList<TopologyEntity*>*)
000000000127b550 T GeometryQueryTool::fire_ray(CubitVector&, CubitVector&, DLIList<RefEntity*>&, DLIList<double>&, int, double, DLIList<RefEntity*>*)
0000000001045130 T AcisQueryEngine::fire_ray(CubitVector&, CubitVector&, DLIList<TopologyBridge*>&, DLIList<double>&, int, double, DLIList<TopologyBridge*>*) const
000000000104b6b0 T AcisQueryEngine::fire_ray(CubitVector&, CubitVector&, DLIList<ENTITY*>&, DLIList<double>&, DLIList<ENTITY*>*, double, int) const
00000000011c75d0 T FacetQueryEngine::fire_ray(CubitVector&, CubitVector&, DLIList<TopologyBridge*>&, DLIList<double>&, int, double, DLIList<TopologyBridge*>*) const
000000000117e7e0 T VirtualQueryEngine::fire_ray(CubitVector&, CubitVector&, DLIList<TopologyBridge*>&, DLIList<double>&, int, double, DLIList<TopologyBridge*>*) const


I don't see how this could possibly work for you.  Are you working with
an old version of Cubit?

Jed

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20091020/33172c57/attachment.pgp>


More information about the cgma-dev mailing list