Discussion:
[build] Building for Linux on ARM
Stephan Wiehr
2014-08-27 15:28:48 UTC
Permalink
Hi,

I am currently trying to build OpenScenegraph for a custom embedded Linux on an ARM platform (armhf if it matters) with GLESv2 and Wayland but currently already fail on configure.

Current configure is this:


Code:
./configure \
-DOSG_GL1_AVAILABLE=OFF \
-DOSG_GL2_AVAILABLE=OFF \
-DOSG_GL3_AVAILABLE=OFF \
-DOSG_GLES1_AVAILABLE=OFF \
-DOSG_GLES2_AVAILABLE=ON \
-DOSG_GL_LIBRARY_STATIC=OFF \
-DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF \
-DOSG_GL_MATRICES_AVAILABLE=OFF \
-DOSG_GL_VERTEX_FUNCS_AVAILABLE=OFF \
-DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=OFF \
-DOSG_GL_FIXED_FUNCTION_AVAILABLE=OFF \
-DBUILD_OSG_EXAMPLES=ON



current result is this:


Code:
-- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY)
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES) (found version "2.9.1")
-- checking for module 'gta'
-- package 'gta' not found
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
-- Could NOT find SDL (missing: SDL_LIBRARY) (found version "1.2.14")
-- checking for module 'poppler-glib'
-- package 'poppler-glib' not found
-- checking for module 'librsvg-2.0>=2.35'
-- package 'librsvg-2.0>=2.35' not found
-- checking for module 'gtk+-2.0'
-- package 'gtk+-2.0' not found
-- checking for module 'gtkglext-x11-1.0'
-- package 'gtkglext-x11-1.0' not found
-- Could NOT find Boost
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY)
-- Could NOT find wxWidgets (missing: wxWidgets_FOUND)
-- Could NOT find JPEG (missing: JPEG_LIBRARY)
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.3.4")
-- Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
-- Could NOT find TIFF (missing: TIFF_LIBRARY) (found version "3.9.5")
-- checking for module 'xrandr'
-- package 'xrandr' not found
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENGL_gl_LIBRARY (ADVANCED)



Can anyone give me a hint or directions on how to get this to a compilable state?
Checking the current configurations that could use GLESv2 (Apple and Android) I couldn't even figure what I have to set to get my libGLESv2.so being found.

Additionally the question: Which dependencies are actually minimal or important respectively?
From the configure result it looks like some more libraries and/or header files are missing but I am not sure how crucial their absence is.

Thank you!

Cheers,
Stephan[/code]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60817#60817
Chris Hanson
2014-08-27 17:40:56 UTC
Permalink
Which ARM platform are you trying to build on?


On Wed, Aug 27, 2014 at 9:28 AM, Stephan Wiehr <
Post by Stephan Wiehr
Hi,
I am currently trying to build OpenScenegraph for a custom embedded Linux
on an ARM platform (armhf if it matters) with GLESv2 and Wayland but
currently already fail on configure.
./configure \
-DOSG_GL1_AVAILABLE=OFF \
-DOSG_GL2_AVAILABLE=OFF \
-DOSG_GL3_AVAILABLE=OFF \
-DOSG_GLES1_AVAILABLE=OFF \
-DOSG_GLES2_AVAILABLE=ON \
-DOSG_GL_LIBRARY_STATIC=OFF \
-DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF \
-DOSG_GL_MATRICES_AVAILABLE=OFF \
-DOSG_GL_VERTEX_FUNCS_AVAILABLE=OFF \
-DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=OFF \
-DOSG_GL_FIXED_FUNCTION_AVAILABLE=OFF \
-DBUILD_OSG_EXAMPLES=ON
-- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY)
-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES) (found version "2.9.1")
-- checking for module 'gta'
-- package 'gta' not found
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
-- Could NOT find SDL (missing: SDL_LIBRARY) (found version "1.2.14")
-- checking for module 'poppler-glib'
-- package 'poppler-glib' not found
-- checking for module 'librsvg-2.0>=2.35'
-- package 'librsvg-2.0>=2.35' not found
-- checking for module 'gtk+-2.0'
-- package 'gtk+-2.0' not found
-- checking for module 'gtkglext-x11-1.0'
-- package 'gtkglext-x11-1.0' not found
-- Could NOT find Boost
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY)
-- Could NOT find wxWidgets (missing: wxWidgets_FOUND)
-- Could NOT find JPEG (missing: JPEG_LIBRARY)
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.3.4")
-- Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
-- Could NOT find TIFF (missing: TIFF_LIBRARY) (found version "3.9.5")
-- checking for module 'xrandr'
-- package 'xrandr' not found
CMake Error: The following variables are used in this project, but they
are set to NOTFOUND.
OPENGL_gl_LIBRARY (ADVANCED)
Can anyone give me a hint or directions on how to get this to a compilable state?
Checking the current configurations that could use GLESv2 (Apple and
Android) I couldn't even figure what I have to set to get my libGLESv2.so
being found.
Additionally the question: Which dependencies are actually minimal or
important respectively?
From the configure result it looks like some more libraries and/or header
files are missing but I am not sure how crucial their absence is.
Thank you!
Cheers,
Stephan[/code]
------------------
http://forum.openscenegraph.org/viewtopic.php?p=60817#60817
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Chris 'Xenon' Hanson, omo sanza lettere. Xenon-***@public.gmane.org
http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 •
GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Digital Imaging • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography
• Digital Audio • LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS •
Android
@alphapixel <https://twitter.com/alphapixel> facebook.com/alphapixel (775)
623-PIXL [7495]
Stephan Wiehr
2014-08-27 20:24:28 UTC
Permalink
Post by Chris Hanson
Which ARM platform are you trying to build on?
It's a TI Jacinto 6 platform (ARM Cortex A15 dual-core with a dual SGX544 GPU)

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60823#60823
Chris Hanson
2014-08-27 21:22:04 UTC
Permalink
That's not one I've built for, but we've built for the iMX6 and the NVidia
Jetson TK1.

Technically most of those dependencies are optional (though it's hard to
get much done without JPEG, PNG, and zlib) but this one:

-- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY)

will be a showstopper.

Do you have the OGL headers and libs SDK pieces installed ahead of time?



On Wed, Aug 27, 2014 at 2:24 PM, Stephan Wiehr <
Post by Stephan Wiehr
Post by Chris Hanson
Which ARM platform are you trying to build on?
It's a TI Jacinto 6 platform (ARM Cortex A15 dual-core with a dual SGX544 GPU)
------------------
http://forum.openscenegraph.org/viewtopic.php?p=60823#60823
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Chris 'Xenon' Hanson, omo sanza lettere. Xenon-***@public.gmane.org
http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 •
GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Digital Imaging • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography
• Digital Audio • LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS •
Android
@alphapixel <https://twitter.com/alphapixel> facebook.com/alphapixel (775)
623-PIXL [7495]
Stephan Wiehr
2014-08-28 07:19:11 UTC
Permalink
That's not one I've built for, but we've built for the iMX6 and the NVidia Jetson TK1.
-- Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY)
will be a showstopper.
Do you have the OGL headers and libs SDK pieces installed ahead of time?
Well, my SDK sysroot (built using yocto) contains these headers and libraries (although I am not sure if they are exactly what is searched for):


Code:

/usr/lib ->
-rw-r--r-- 1 root root 2658703 Jun 11 10:13 lib/libGLESv2.so.1.9.6.0
lrwxrwxrwx 1 root root 20 Aug 11 18:26 lib/libGLESv2.so.2 -> libGLESv2.so.1.9.6.0

/usr/include/GLES2 ->
-rw-r--r-- 1 root root 44143 Jun 11 10:13 gl2ext.h
-rw-r--r-- 1 root root 31666 Jun 11 10:13 gl2.h
-rw-r--r-- 1 root root 898 Jun 11 10:13 gl2platform.h




Any idea where I could "debug" the cmake process to figure what it is looking for exactly?

Good to know about those other dependencies, will make sure I get these in.

thx for your feedback so far

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60827#60827
Robert Osfield
2014-08-28 07:37:44 UTC
Permalink
HI Stephan,

You don't mention which version of the OSG you are using. I would strongly
recommend using svn/trunk or latest 3.3.x developer release as this
contains various updates to help with building against GLES and other GL
targets. In particular the cmake build system now has a new OPENGL_PROFILE
variable that you can set to the appropriate OpenGL type and it'll set up
the rest of the CMAKE variables associated with that target - so no long
winded settings like you published in your first post. Instead you can do:

cmake -DOPENGL_PROFILE=GLES2

You may still need to adjust the paths to the GLES libs if they aren't
found by default, but you should further along the way.

Another advantage of using svn/trunk is if you find a build issue on your
particular platform target we can get a fix checked in more readily.

Robert.
Stephan Wiehr
2014-08-28 08:27:54 UTC
Permalink
Thanks for that suggestion, so far I went for the latest stable build 3.2.1 but will move to 3.3.1 as you suggested.
Post by Robert Osfield
HI Stephan,
   cmake -DOPENGL_PROFILE=GLES2
You may still need to adjust the paths to the GLES libs if they aren't found by default, but you should further along the way.
Another advantage of using svn/trunk is if you find a build issue on your particular platform target we can get a fix checked in more readily.
Robert.
------------------
Post generated by Mail2Forum
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60834#60834
Stephan Wiehr
2014-08-28 10:56:28 UTC
Permalink
Hi,

just an additional thing I found when checking through my sysroots libs and headers:

Everything seems to be there for freetype, libxml2, libjpeg, libpng, zlib still the cmake output says these could not be found.

Anyone having an idea about this?

With a cross-compile environment like the following (excerpt from yocto generated file) this should work ok, right?


Code:
export CC="arm-linux-gnueabihf-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 --sysroot=/usr/local/oecore-i686/sysroots/cortexa15hf-vfp-neon-oe-linux-gnueabi"
export CXX="arm-linux-gnueabihf-g++ -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 --sysroot=/usr/local/oecore-i686/sysroots/cortexa15hf-vfp-neon-oe-linux-gnueabi"
export CPP="arm-linux-gnueabihf-gcc -E -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 --sysroot=/usr/local/oecore-i686/sysroots/cortexa15hf-vfp-neon-oe-linux-gnueabi"
export AS="arm-linux-gnueabihf-as "
export LD="arm-linux-gnueabihf-ld --sysroot=/usr/local/oecore-i686/sysroots/cortexa15hf-vfp-neon-oe-linux-gnueabi"




Thank you!

Cheers,
Stephan

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60836#60836
camila real
2014-09-06 09:47:09 UTC
Permalink
I built the latest OSG version as you suggested (3.2.1) and everything is back to normal. I used the exact same process to build and compile the programs, so maybe a bug that was still present in 3.0.1 along with my system led to this one.






_______________________________________________________________
camila

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=60963#60963

Loading...