certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [certi-dev] Problem building CERTI on Mac OS X


From: Mark Brown
Subject: Re: [certi-dev] Problem building CERTI on Mac OS X
Date: Tue, 26 Apr 2011 16:16:48 +0900
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-GB; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9

Bonjour Eric,

Thanks for getting back to me so fast.

> May be the default behavior of gcc on the Mac is to set visibilty to
> hidden, does it?

I don't think so. The Apple developer documentation states that gcc 4.0 or later assume default visibility unless you explicity set the -fvisibility flag during compilation.

> I am trying to reproduce the issue on Linux using gcc -fvisibility=hidden.
> On your side may be you can try to add
>
> -fvisibility=default into CFLAGS (or modify main CMakeLists.txt in the
> GCC specific area).

I tried this with the same result. Doing a make -n confirms that the visibility flag is set to default, e.g.:

 --green "Building CXX object libRTI/CMakeFiles/RTI.dir/RTItypesImp.o"
cd /Users/Mark/devel/Build_CERTI-3.4.0/libRTI && /usr/bin/c++ -DRTI_EXPORTS -DHOST_IS_BIG_ENDIAN -DHAVE_CONFIG_H=1 -DHAVE_XML -DRTI_USES_STD_FSTREAM -fmessage-length=0 -fvisibility=default -pedantic -ansi -Wall -Woverloaded-virtual -Wno-unused-function -Wno-long-long -g -fPIC -I/usr/include/libxml2 -I/Users/Mark/devel/CERTI-3.4.0-Source/include -I/Users/Mark/devel/Build_CERTI-3.4.0/include -I/Users/Mark/devel/Build_CERTI-3.4.0 -I/Users/Mark/devel/CERTI-3.4.0-Source/libCERTI -I/Users/Mark/devel/CERTI-3.4.0-Source/libHLA -DHLA13NG_LIBRTI -o CMakeFiles/RTI.dir/RTItypesImp.o -c /Users/Mark/devel/CERTI-3.4.0-Source/libRTI/RTItypesImp.cc

> Which version of CERTI are you trying to build?

version 3.4.0. Sorry, I should have stated.


On 4/26/11 3:22 PM, Eric Noulard wrote:
2011/4/26 Mark Brown<address@hidden>:
Greetings,

I'm having trouble building CERTI on a PowerMac G5.

gcc --version returns:
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)

The problem occurs at the link stage:

[ 76%] Built target rtia
Linking CXX shared library libFedTimed.dylib
Undefined symbols:
  "typeinfo for RTI::Exception", referenced from:
      typeinfo for RTI::MemoryExhaustedin RTIfedTime.o
      typeinfo for RTI::InvalidFederationTimein RTIfedTime.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [libRTI/libFedTimed.1.0.0.dylib] Error 1
make[1]: *** [libRTI/CMakeFiles/FedTime.dir/all] Error 2
make: *** [all] Error 2

Any ideas?

Hi Mark,

Yes may be,  I'm afraid I do...
This is the libRTI-->libFedTime-->libRTI circular reference hitting again.

See the bunch of reference here:
https://savannah.nongnu.org/bugs/?30003

May be the default behavior of gcc on the Mac is to set visibilty to
hidden, does it?
see: http://gcc.gnu.org/wiki/Visibility

I am trying to reproduce the issue on Linux using gcc -fvisibility=hidden.
On your side may be you can try to add

-fvisibility=default into CFLAGS (or modify main CMakeLists.txt in the
GCC specific area).

Which version of CERTI are you trying to build?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]