Thanks for the reply. After messing with the CMakeLists in OpenThreads (forced pthreads), I got it to compile and build me a static lib archive... unfortutely I have pretty much the same problem, about a bajillion of these errors originating from various osg sources.
Program.cpp:(.text+0x5158): undefined reference to `OpenThreads::Mutex::Mutex(OpenThreads::Mutex::MutexType)' Program.cpp:(.text+0x5160): undefined reference to `OpenThreads::Mutex::~Mutex()' On Tue, May 29, 2012 at 5:02 PM, Thomas Hogarth <[email protected]> wrote: > Hi Preet > > Good to hear you're working on a Blackberry port. > > In regard to the libs you need your main aim is to get osgViewer compiling. > If that compiles then you can setup a viewer a render your scenegraph. > > You'll have two options for this, you can either create your own > implementation of osgViewer::GraphicsWindow to handle setting up an OpenGL > context, window etc. Or you can just use the OpenGL example you have and > setup the viewer using the setupViewerAsEmbeded function which will allow you > to draw the osg scenegraph into your example OpenGL view. > > Probably easiest to try setupViewerAsEmbeded first to test osg itself is > working, then you can try and create your own viewer. > > With regard to OpenThreads it's probably related to the actual operating > system you are using to build the libs. For example if you are on windows > then CMake is probably selecting the windows threading stuff because it's not > aware your trying to build for blackberry. > > If you take a look at src/OpenThreads/CMakeLists.txt near the bottom you'll > find this > > > Code: > IF(NOT ANDROID) > # Use our modified version of FindThreads.cmake which has Sproc hacks. > FIND_PACKAGE(Threads) > ENDIF() > # Do we have sproc? > IF(CMAKE_SYSTEM MATCHES IRIX) > IF(CMAKE_USE_SPROC_INIT) > # In this case, only Sproc exists, so no option. > SET(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS 1) > ELSE() > IF(CMAKE_HAVE_SPROC_H) > OPTION(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS "Set to ON to > build OpenThreads against sproc instead of pthreads" OFF) > ENDIF() > ENDIF() > ENDIF(CMAKE_SYSTEM MATCHES IRIX) > > # Add support for using Qt threads > IF(QT4_FOUND) > OPTION(BUILD_OPENTHREADS_WITH_QT "Build OpenThreads with Qt threading > support." OFF) > ENDIF() > > # Maybe we should be using the FindThreads.cmake module? > IF(ANDROID) > SUBDIRS(pthreads) > ELSEIF(QT4_FOUND AND BUILD_OPENTHREADS_WITH_QT) > SUBDIRS(qt) > ELSEIF(WIN32) > # So I think Cygwin wants to use pthreads > IF(CYGWIN) > SUBDIRS(pthreads) > ELSE() > # Everybody else including Msys should probably go here > SUBDIRS(win32) > # examples) > ENDIF() > ELSE() > IF(UNIX) > IF(OPENTHREADS_USE_SPROC_INSTEAD_OF_PTHREADS) > SUBDIRS(sproc) > ELSE() > SUBDIRS(pthreads) > ENDIF() > ELSE() > MESSAGE("Sorry, OpenThreads may not support your platform") > ENDIF() > ENDIF() > > > > > In there it is selecting the correct threading module for the platform. For > a temporary fix you can just force the use of pthreads. > > Regarding plugins, cmake will only generate build targets for pulgins for > which it has found the dependancies. Be careful though that it doesn't find > your operating system versions. For good asset support you'll need at least > libpng for loading of png images, and freetypes for fonts. > > The osg format plugins themselves have no external dependancies so should > build as long as osg does. > > Cheers > Tom > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=47924#47924 > > > > > > _______________________________________________ > 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

