[opensource-dev] Using Boost & the viewer

CJ Davies cjohndavies at gmail.com
Fri Jul 13 02:17:03 PDT 2012


Thanks for your response Cinder. In the #boost channel on freenode 
somebody helped me track down the problem to a preprocessor collision 
caused by this declaration in 
build-<platform>/packages/include/glh/glh_linear.h

#define     equivalent(a,b)     (((a < b + GLH_EPSILON) && (a > b - 
GLH_EPSILON)) ? true : false)

Strangely this comes at the end of a list of #define statements that are 
all prefixed by the 'unique' string GLH_ so it seems odd that the 
declaration of equivalent didn't follow the same regime. I changed it to

template < typename T, typename U > inline bool GLH_EQUIV( const T a, 
const U b ) { return ( b - GLH_EPSILON ) < a && a < ( b + GLH_EPSILON ); }

(not my code, provided by IRC) and changed all references elsewhere in 
the codebase from equivalent to GLH_EQUIV & it compiles okay.

I'm not familiar with the codebase however so I don't know whether this 
solution is the 'correct' solution, or whether your NO_DEPRECATED 
solution might've worked & been a 'cleaner' solution?

Regards,
CJ Davies

On 12/07/12 23:01, Cinder Roxley wrote:
> Hi!
>
> The warnings in your build log relate to the error_code library in the
> Boost.System library. They're a side effect of the design decision made
> in the library which I will spare you details of (more info on it here:
> http://www.boost.org/doc/libs/1_41_0/libs/system/doc/reference.html#Class-error%5Fcategory
> )
>
> If you aren't using the definitions you're getting the warnings about,
> try including the following lines of code before including the header file:
>
> |#ifndef  BOOST_SYSTEM_NO_DEPRECATED
> #define  BOOST_SYSTEM_NO_DEPRECATED1
> #endif|
>
> Kind regards,
> Cinder Roxley
>
> On 7/12/2012 5:09 AM, CJ Davies wrote:
>> I'm trying to get the viewer to read data from an Arduino via serial
>> (long story...). I'm using Boost for this.
>>
>> So far I have changed the Boost prebuilt in autobuild.xml to this one
>> after a conversation with LightDrake on #opensl on freenode;
>>
>> https://bitbucket.org/LightDrake/public-libs/downloads/boost-1.45.0-linux-20120213.tar.bz2
>>
>> then added a boost_thread line to indra/cmake/Boost.cmake & added
>> ${BOOST_SYSTEM_LIBRARY} & ${BOOST_THREAD_LIBRARY} to
>> indra/newview/CMakeLists.txt.
>>
>> This allows the .h & .cpp files that implement the serial functionality
>> to be added to the build & successfully built, however when I try to
>> include one of these header files in llviewerjoystick.h the build fails
>> spectacularly.
>>
>> This is the file that I am trying to #include in llviewerjoystick.h -->
>> http://paste2.org/p/2071086
>>
>> This is the output of the build -->http://paste2.org/p/2071087
>>
>> I assume there isn't actually anything wrong with the code & I'm just
>> still missing part of Boost that I need. Can anybody help me identify this?
>>
>> Regards,
>> CJ Davies
>> _______________________________________________
>> Policies and (un)subscribe information available here:
>> http://wiki.secondlife.com/wiki/OpenSource-Dev
>> Please read the policies before posting to keep unmoderated posting privileges
>
>
>
>
> _______________________________________________
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting privileges
>




More information about the opensource-dev mailing list