Hi Chuck,

Can you send the complete modified file? What version of Cmake did you
use? It seems, that this error occurs when using cmake 2.8. I couldn't
spot the error when using cmake 2.6.

cheers,
Stephan


Chuck Seberino schrieb:
> I have a patch to submit that fixes the following error when building against 
> OSX 10.6.2.  I am building the 2.9.6 dev tag, but I also checked it against 
> trunk.  I am building fat binaries (i386 and x86_64):
> 
> /OpenSceneGraph-2.9.6/include/OpenThreads/Atomic:70: error: 'int32_t' does 
> not name a type
> /OpenSceneGraph-2.9.6/include/OpenThreads/Atomic: In constructor 
> 'OpenThreads::Atomic::Atomic(unsigned int)':
> /OpenSceneGraph-2.9.6/include/OpenThreads/Atomic:50: error: class 
> 'OpenThreads::Atomic' does not have any field named '_value'
> 
> --- Atomic.orig 2009-12-15 09:53:51.000000000 -0800
> +++ Atomic      2009-12-15 09:55:02.000000000 -0800
> @@ -17,17 +17,17 @@
>  #include <OpenThreads/Config>
>  #include <OpenThreads/Exports>
>  
> -#if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) && defined(__i386__)
> -#define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
> +#if defined(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC)
> +# include <libkern/OSAtomic.h>
> +# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
> +#elif defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS) && defined(__i386__)
> +# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
>  #elif defined(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED)
> -#define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
> +# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
>  #elif defined(_OPENTHREADS_ATOMIC_USE_SUN)
>  # include <atomic.h>
>  # include "Mutex"
>  # include "ScopedLock"
> -#elif defined(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC)
> -# include <libkern/OSAtomic.h>
> -# define _OPENTHREADS_ATOMIC_USE_LIBRARY_ROUTINES
>  #elif defined(_OPENTHREADS_ATOMIC_USE_MUTEX)
>  # include "Mutex"
>  # include "ScopedLock"
> 
> The problem is that there were two clauses in these conditionals that applied 
> to my configuration.  I moved the more-specific case, 
> _OPENTHREADS_ATOMIC_USE_BSD_ATOMIC, ahead of the more general 
> _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS && __i386__.  This allowed it to 
> correctly pull in <libkern/OSAtomic.h> which subsequently pulled in 
> <stdint.h> to define int32_t.
> 
> I don't know for sure, but I guess there might be a case where a similar 
> situation could happen with the *_USE_SUN clause where a Sun system might 
> also take the GCC/i386 path instead.
> 
> Thanks
> Chuck Seberino
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to