[Top][All Lists]
[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