[cgma-dev] Finding ACIS in Cubit

Tim Tautges tautges at mcs.anl.gov
Mon Oct 19 17:51:25 CDT 2009


Yeah, Bob, I don't think we should bother with PGI.

- tim

Jason Kraftcheck wrote:
> Robert Smith wrote:
>> Interestingly, I'm getting a very similar error.  I'm trying to 
>> configure CGM with an MPICH2 build using the PG 8.0.5 compiler.
>>
>> I tried your compile test below and I get a name different than that 
>> in libcubiti19.so.  The results are below.  I don't get the same 
>> issues if I'm using MPICH based on GCC 4.2.4 or Intel 11.0.
>>
> 
> It appears that the PG compiler uses a different C++ ABI than g++ and 
> ICC.  This means that it will not be possible to build CGM with libcubit 
> unless cubit is compiled with PG, which would require that the ACIS 
> libraries in turn be compiled with PG.
> 
> - jason
> 
> 
> 
> 
>> smithrm at octagon:~/projects/test$ nm icc_acistest.o
>>                  U _ZN15AcisQueryEngine9instance_E
>>                  U __gxx_personality_v0
>>                  U __intel_new_proc_init
>> 0000000000000000 T main
>> smithrm at octagon:~/projects/test$
>> smithrm at octagon:~/projects/test$ nm gcc_acistest.o
>>                  U _ZN15AcisQueryEngine9instance_E
>>                  U __gxx_personality_v0
>> 0000000000000000 T main
>> smithrm at octagon:~/projects/test$ nm pg_acistest.o
>> 0000000000000018 t __mainEND
>>                  U _main
>>                  U instance___15AcisQueryEngine
>> 0000000000000000 T main
>> 0000000000000000 t pgCC_compiled.
>>
>>
>> smithrm at octagon:~/projects/test$ nm 
>> ../sharp/3rdparty/Cubit/Cubit64/cubit-10.2-amd64/bin/libcubiti19.so | 
>> grep AcisQueryEngine
>> ...
>> 0000000001abc680 D _ZN15AcisQueryEngine9instance_E
>>
>>
>>
>> On Oct 19, 2009, at 1:03 PM, Jed Brown wrote:
>>
>>> Jason Kraftcheck wrote:
>>>
>>>> I see that in this output the script is no longer trying to use 
>>>> libtool,
>>>> which is a start.  I'm still unsure why the link is failing.  If you
>>>> compile the following (just compile, not link: g++ -c ...):
>>>>
>>>> class AcisQueryEngine { public: static AcisQueryEngine* instance_; };
>>>>
>>>> int main()
>>>> {
>>>>  AcisQueryEngine::instance_ = 0;
>>>>  return 0;
>>>> }
>>>>
>>>> and then run "nm main.o | fgrep instance_".  Is it the same mangled 
>>>> name
>>>> as you see the Cubit library?
>>>
>>> $ cat > acis.C
>>> class AcisQueryEngine { public: static AcisQueryEngine* instance_; };
>>>
>>> int main()
>>> {
>>> AcisQueryEngine::instance_ = 0;
>>> return 0;
>>> }
>>> $ g++ -c acis.C
>>> $ nm acis.o
>>>                 U _ZN15AcisQueryEngine9instance_E
>>>                 U __gxx_personality_v0
>>> 0000000000000000 T main
>>> $ nm -D /home/jed/usr/cubit-20091014/bin/libcubiti19.so |grep 
>>> AcisQueryEngine.*instance_
>>> 0000000001da4148 D _ZN15AcisQueryEngine9instance_E
>>>
>>>
>>>
>>> They match.
>>>
>>> Jed
>>>
>>
> 
> 

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