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: John Tipper
Subject: Re: [certi-dev] Problem building CERTI on Mac OS X
Date: Sat, 11 Jun 2011 14:39:43 +0100

After tearing my hair out literally all night, I've got CERTI to play on the 
Mac, and thought I'd record what I did for the benefit of anyone else that may 
come across this.

I have rebuilt CERTI as a series of static libraries - this was done by editing 
the CMakeCache.txt file and setting the shared library setting to OFF:

> //Build libraries as shared library
> BUILD_SHARED:BOOL=OFF

When I tried to link this with a project being built in XCode, I then got 
warnings that the architecture that these libraries was built for did not match 
that which XCode was expecting (i386) - I'm running on a MacBook Pro.  So I 
then recompiled CERTI using the -m flag:

> //Flags used by the compiler during all build types.
> CMAKE_CXX_FLAGS:STRING=-m32

and

> //Flags used by the compiler during all build types.
> CMAKE_C_FLAGS:STRING=-m32

This will build most of CERTI (apart from the Windows specific modules that 
Mark described in an earlier post, fails at 98%), albeit with a large number of 
warnings:

> [  4%] Building C object libHLA/CMakeFiles/HLA.dir/tlsf.o
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libHLA/tlsf.c:176:20: warning: 
> anonymous variadic macros were introduced in C99
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libHLA/tlsf.c:177:20: warning: 
> anonymous variadic macros were introduced in C99

> [ 54%] Building CXX object libCERTI/CMakeFiles/CERTI.dir/RingBuffer.o
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc: In member 
> function ‘void RingBuffer::Send(void*, size_t)’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc:426: 
> warning: comparison between signed and unsigned integer expressions
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc:498: 
> warning: comparison between signed and unsigned integer expressions
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc: In member 
> function ‘void RingBuffer::Receive(void*, size_t)’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc:590: 
> warning: comparison between signed and unsigned integer expressions
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libCERTI/RingBuffer.cc:674: 
> warning: comparison between signed and unsigned integer expressions

> [ 58%] Building CXX object libCERTI/CMakeFiles/CERTI.dir/syntax.o
> Linking CXX static library libCERTId.a
> /usr/bin/ranlib: file: libCERTId.a(NameReservation.o) has no symbols
> /usr/bin/ranlib: file: libCERTId.a(GSSAPIHandler.o) has no symbols

> [ 77%] Building CXX object libRTI/CMakeFiles/FedTime.dir/RTIfedTime.o
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc: In function 
> ‘const RTIfedTime&<unnamed>::rft(const RTI::FedTime&)’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc:51: warning: 
> control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc: In static 
> member function ‘static RTI::FedTime* RTI::FedTimeFactory::decode(const 
> char*)’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc:92: warning: 
> control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc: In static 
> member function ‘static RTI::FedTime* RTI::FedTimeFactory::makeZero()’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTIfedTime.cc:75: warning: 
> control reaches end of non-void function

> [ 77%] Building CXX object libRTI/CMakeFiles/FedTime1516.dir/RTI1516fedTime.o
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual long unsigned int 
> RTI1516fedTimeInterval::encode(void*, long unsigned int) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:692: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTimeInterval::operator<=(const 
> rti1516::LogicalTimeInterval&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:650: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTimeInterval::operator>=(const 
> rti1516::LogicalTimeInterval&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:631: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTimeInterval::operator==(const 
> rti1516::LogicalTimeInterval&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:612: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTimeInterval::operator<(const 
> rti1516::LogicalTimeInterval&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:593: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTimeInterval::operator>(const 
> rti1516::LogicalTimeInterval&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:574: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual long unsigned int RTI1516fedTime::encode(void*, long 
> unsigned int) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:311: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTime::operator<=(const 
> rti1516::LogicalTime&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:269: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTime::operator>=(const 
> rti1516::LogicalTime&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:250: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTime::operator==(const 
> rti1516::LogicalTime&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:231: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTime::operator<(const 
> rti1516::LogicalTime&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:211: 
> warning: control reaches end of non-void function
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp: In 
> member function ‘virtual bool RTI1516fedTime::operator>(const 
> rti1516::LogicalTime&) const’:
> /X-Plane_9/CERTI-3.4.0/CERTI-3.4.0-Source/libRTI/RTI1516fedTime.cpp:192: 
> warning: control reaches end of non-void function

> Linking CXX static library libRTI1516d.a
> /usr/bin/ranlib: file: libRTI1516d.a(RTI1516ambTime.o) has no symbols
> [ 88%] Built target RTI1516

And this is where it gets to and fails, but the main libraries are built and 
they now work:

> [ 98%] Building CXX object 
> test/utility/CMakeFiles/CertiProcessus_A.dir/Main_SocketSHM.o
> Linking CXX executable CertiProcessus_A
> ld: library not found for -lrt
> collect2: ld returned 1 exit status
> make[2]: *** [test/utility/CertiProcessus_A] Error 1
> make[1]: *** [test/utility/CMakeFiles/CertiProcessus_A.dir/all] Error 2
> make: *** [all] Error 2


To get my plugin to work I had to include libraries from the libRTI, libHLA and 
libCERTI folders.


Regards,

John




reply via email to

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