<div dir="ltr"><div><div><div><div>Hi Alex,<br><br></div>Thanks for the testing.  I'm not clear on what system you are building on.  It looks like Linux of some variant. <br><br></div>With the suggested modifications could you please provide full modified files, as embedding lots of modifications into a single email, copying and pasting modifications simply isn't a reliable means for me to attempt fixes.<br><br></div>Cheers,<br></div>Robert.<br><div><div><div><div><br><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 19 July 2015 at 08:31, Alex Cham <span dir="ltr"><<a href="mailto:cau.mbox@gmail.com" target="_blank">cau.mbox@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Here is what i have found & how it was fixed<br>
<br>
OpenSceneGraph Version<br>
<br>
<br>
#define OPENSCENEGRAPH_MAJOR_VERSION    3<br>
#define OPENSCENEGRAPH_MINOR_VERSION    5<br>
#define OPENSCENEGRAPH_PATCH_VERSION    0<br>
#define OPENSCENEGRAPH_SOVERSION        130<br>
<br>
<br>
$ git log -1<br>
commit bc3a77cb1561ed2e47e88ab507180bcf15309f31<br>
Author: Robert OSFIELD <><br>
Date:   Fri Jul 17 18:31:22 2015 +0000<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Configure & Compile OSG For GLESX<br>
<br>
<br>
<br>
<a href="http://trac.openscenegraph.org/projects/osg/wiki/Community/OpenGL-ES" rel="noreferrer" target="_blank">http://trac.openscenegraph.org/projects/osg/wiki/Community/OpenGL-ES</a><br>
<br>
$ ls -ail /usr/lib/x86_64-linux-gnu | grep EG<br>
 671904 lrwxrwxrwx   1 root root       15 Jul 10 13:08 libEGL.so -> libEGL.so.1.0.0<br>
 671897 lrwxrwxrwx   1 root root       15 Jul 10 13:08 libEGL.so.1 -> libEGL.so.1.0.0<br>
 656425 -rw-r--r--   1 root root   173208 Jul 10 13:08 libEGL.so.1.0.0<br>
<br>
$ ls -ail /usr/lib/x86_64-linux-gnu | grep ES<br>
 660380 lrwxrwxrwx   1 root root       21 Jul 10 13:08 libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0<br>
 660378 -rw-r--r--   1 root root    18232 Jul 10 13:08 libGLESv1_CM.so.1.1.0<br>
 656932 lrwxrwxrwx   1 root root       18 Jul 10 13:08 libGLESv2.so -> libGLESv2.so.2.0.0<br>
 671907 lrwxrwxrwx   1 root root       18 Jul 10 13:08 libGLESv2.so.2 -> libGLESv2.so.2.0.0<br>
 668652 -rw-r--r--   1 root root    26424 Jul 10 13:08 libGLESv2.so.2.0.0<br>
<br>
<br>
$ ls -ail /usr/include/ | grep ES<br>
1573223 drwxr-xr-x  2 root root   4096 Jul 18 20:16 GLES2<br>
1573218 drwxr-xr-x  2 root root   4096 Jul 18 20:16 GLES3<br>
<br>
<br>
mkdir ./GLES2ContextBuild<br>
cd ./GLES2ContextBuild<br>
<br>
cmake \<br>
-DCMAKE_C_COMPILER="/usr/bin/clang" \<br>
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \<br>
-DCMAKE_CXX_FLAGS="-std=c++11 -v -Wall" \<br>
-DBUILD_OSG_EXAMPLES=1 \<br>
-DOSG_GL1_AVAILABLE=OFF \<br>
-DOSG_GL2_AVAILABLE=OFF \<br>
-DOSG_GL3_AVAILABLE=OFF \<br>
-DOSG_GLES1_AVAILABLE=OFF \<br>
-DOSG_GLES2_AVAILABLE=ON \<br>
-DOPENGL_INCLUDE_DIR=/usr/include/ \<br>
-DOPENGL_LIBRARY=/usr/lib/x86_64-linux-gnu/libGLESv2.so \<br>
-DOPENGL_egl_LIBRARY=/usr/lib/x86_64-linux-gnu/libEGL.so \<br>
-DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF \<br>
-DSG_GL_MATRICES_AVAILABLE=OFF \<br>
-DOSG_GL_VERTEX_FUNCS_AVAILABLE=OFF \<br>
-DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=OFF \<br>
-DOSG_GL_FIXED_FUNCTION_AVAILABLE=OFF \<br>
-DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF \<br>
../GLES2ContextSource<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
LLVMToolchain Errors & Fixes<br>
<br>
typedef redefinition with different types (typedef long long int<br>
GLint64)<br>
<br>
<br>
E:<br>
/home/alex/dev/sources/osgbullet/Dependencies/osg/LLVM/GLES2ContextBuild/include/osg/GL:123:31: error: typedef redefinition with different types<br>
      ('long long' vs 'khronos_int64_t' (aka 'long'))<br>
        typedef long long int GLint64;<br>
                              ^<br>
/usr/include/GLES2/gl2.h:63:25: note: previous definition is here<br>
typedef khronos_int64_t GLint64;<br>
<br>
<br>
F:<br>
<br>
osg/src/osg/GL.in<br>
<br>
Just comment or remove the else block and all compiles perfect. GLint64 is<br>
already defined in headers provided by Mesa3d for your platform as "typedef<br>
khronos_int64_t GLint64;" For Windows maybe, have nothing to say here because i<br>
dont use it, but for Linux why should we redefine something here explicitly?<br>
<br>
#if !defined(GL_VERSION_3_1)<br>
    #ifdef _WIN32<br>
        typedef          __int64 GLint64;<br>
        typedef unsigned __int64 GLuint64;<br>
    #else<br>
        /*typedef long long int GLint64;*/<br>
        /*typedef unsigned long long int GLuint64;*/<br>
    #endif<br>
#endif<br>
<br>
<br>
<br>
<br>
<br>
<br>
undeclared identifier 'GL_ALPHA_TEST'<br>
<br>
E:<br>
/home/alex/dev/sources/osgbullet/Dependencies/osg/LLVM/GLES2ContextSource/examples/osgSSBO/osgSSBO.cpp:550:48: error: use of undeclared identifier<br>
      'GL_ALPHA_TEST'<br>
    _computationResultsRenderStateSet->setMode(GL_ALPHA_TEST, osg::StateAttribute::ON);<br>
<br>
<br>
F:<br>
<br>
GL_ALPHA_TEST Is not declared in GLES2<br>
<br>
<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml" rel="noreferrer" target="_blank">https://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml</a><br>
<br>
<a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/examples/osgSSBO/CMakeLists.txt" rel="noreferrer" target="_blank">http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/examples/osgSSBO/CMakeLists.txt</a><br>
<br>
IF ((OPENGL_PROFILE STREQUAL "GL3") OR (OPENGL_PROFILE STREQUAL "GLCORE"))<br>
# E: 2<br>
#/home/alex/dev/sources/osgbullet/Dependencies/osg/GL43HeadersConventionSource/examples/osgSSBO/osgSSBO.cpp:550:48: error: ‘GL_ALPHA_TEST’ was not declared in this scope<br>
#     _computationResultsRenderStateSet->setMode(GL_ALPHA_TEST, osg::StateAttribute::ON);<br>
<br>
# F:<br>
<br>
# GL 2<br>
#GL_ALPHA_TEST<br>
#<br>
#If enabled,do alpha testing. See glAlphaFunc.<br>
#<br>
#<a href="https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml" rel="noreferrer" target="_blank">https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml</a><br>
<br>
# GL 3<br>
#No Enumerant GL_ALPHA_TEST<br>
#<a href="https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml" rel="noreferrer" target="_blank">https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml</a><br>
<br>
ELSEIF(OSG_GLES2_AVAILABLE STREQUAL "ON")<br>
<br>
#E:<br>
#/home/alex/dev/sources/osgbullet/Dependencies/osg/LLVM/GLES2ContextSource/examples/osgSSBO/osgSSBO.cpp:550:48: error: use of undeclared identifier<br>
#      'GL_ALPHA_TEST'<br>
#    _computationResultsRenderStateSet->setMode(GL_ALPHA_TEST, osg::StateAttribute::ON);<br>
#<br>
#<br>
#F:<br>
#<br>
#<a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/examples/osgSSBO/CMakeLists.txt" rel="noreferrer" target="_blank">http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/examples/osgSSBO/CMakeLists.txt</a><br>
#<br>
#GL_ALPHA_TEST Is not declared in GLES2<br>
#<br>
#<a href="https://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml" rel="noreferrer" target="_blank">https://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml</a><br>
<br>
ELSE()<br>
<br>
SET(TARGET_SRC osgSSBO.cpp )<br>
SETUP_EXAMPLE(osgSSBO)<br>
<br>
ENDIF()<br>
<br>
<br>
<br>
<br>
<br>
call to 'isinf' is ambiguous<br>
<br>
<br>
E:<br>
/home/alex/dev/sources/osgbullet/Dependencies/osg/LLVM/GLES2ContextSource/src/osgPlugins/osgjs/json_stream:98:20: error: call to 'isinf' is ambiguous<br>
                if(isinf(d)) {<br>
<br>
F:<br>
<br>
As i'm not needed in osgjs i just comment it out, but ofc error must be fixed<br>
apropriately<br>
<br>
<a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/src/osgPlugins/CMakeLists.txt" rel="noreferrer" target="_blank">http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk/src/osgPlugins/CMakeLists.txt</a><br>
<br>
# ADD_SUBDIRECTORY(osgjs)<br>
<br>
------------------<br>
Read this topic online here:<br>
<a href="http://forum.openscenegraph.org/viewtopic.php?p=64360#64360" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=64360#64360</a><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</blockquote></div><br></div>