Hello , I'm trying to build OpenSceneGraph for Android and getting started with the osgViewer example application. After getting around the first errors, I'm quite stuck with the following while building with ndk-build. ndk-build keeps complaining about missing reference of rand and stat64.
jus@tp-e130:~/workspace/osgViewer$ $ANDROID_NDK/ndk-build Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml Android NDK: WARNING:jni/Android.mk:osgNativeLib: non-system libraries in linker flags: -lgnustl_static -losgdb_dds -losgdb_openflight -losgdb_tga -losgdb_rgb -losgdb_osgterrain -losgdb_osg -losgdb_ive -losgdb_deprecated_osgviewer -losgdb_deprecated_osgvolume -losgdb_deprecated_osgtext -losgdb_deprecated_osgterrain -losgdb_deprecated_osgsim -losgdb_deprecated_osgshadow -losgdb_deprecated_osgparticle -losgdb_deprecated_osgfx -losgdb_deprecated_osganimation -losgdb_deprecated_osg -losgdb_serializers_osgvolume -losgdb_serializers_osgtext -losgdb_serializers_osgterrain -losgdb_serializers_osgsim -losgdb_serializers_osgshadow -losgdb_serializers_osgparticle -losgdb_serializers_osgmanipulator -losgdb_serializers_osgfx -losgdb_serializers_osganimation -losgdb_serializers_osg -losgViewer -losgVolume -losgTerrain -losgText -losgShadow -losgSim -losgParticle -losgManipulator -losgGA -losgFX -losgDB -losgAnimation -losgUtil -losg -lOpenThreads /home/jus/workspace/osgViewer/obj/local/arm eabi-v7a/libgnustl_static.a Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the Android NDK: current module Android NDK: WARNING:jni/Android.mk:osgNativeLib: non-system libraries in linker flags: -lgnustl_static -losgdb_dds -losgdb_openflight -losgdb_tga -losgdb_rgb -losgdb_osgterrain -losgdb_osg -losgdb_ive -losgdb_deprecated_osgviewer -losgdb_deprecated_osgvolume -losgdb_deprecated_osgtext -losgdb_deprecated_osgterrain -losgdb_deprecated_osgsim -losgdb_deprecated_osgshadow -losgdb_deprecated_osgparticle -losgdb_deprecated_osgfx -losgdb_deprecated_osganimation -losgdb_deprecated_osg -losgdb_serializers_osgvolume -losgdb_serializers_osgtext -losgdb_serializers_osgterrain -losgdb_serializers_osgsim -losgdb_serializers_osgshadow -losgdb_serializers_osgparticle -losgdb_serializers_osgmanipulator -losgdb_serializers_osgfx -losgdb_serializers_osganimation -losgdb_serializers_osg -losgViewer -losgVolume -losgTerrain -losgText -losgShadow -losgSim -losgParticle -losgManipulator -losgGA -losgFX -losgDB -losgAnimation -losgUtil -losg -lOpenThreads /home/jus/workspace/osgViewer/obj/local/arm eabi-v7a/libgnustl_static.a Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the Android NDK: current module [armeabi] Compile++ thumb: osgNativeLib <= osgNativeLib.cpp [armeabi] Compile++ thumb: osgNativeLib <= OsgMainApp.cpp [armeabi] Compile++ thumb: osgNativeLib <= OsgAndroidNotifyHandler.cpp [armeabi] SharedLibrary : libosgNativeLib.so /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgdb_deprecated_osgparticle.a(IO_SectorPlacer.o): in function osgParticle::SectorPlacer::place(osgParticle::Particle*) const:/home/jus/Android/OpenSceneGraph-3.2.1/include/osgParticle/range:65: error: undefined reference to 'rand' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgdb_deprecated_osgparticle.a(IO_SectorPlacer.o): in function osgParticle::SectorPlacer::place(osgParticle::Particle*) const:/home/jus/Android/OpenSceneGraph-3.2.1/include/osgParticle/range:59: error: undefined reference to 'rand' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgdb_deprecated_osgparticle.a(IO_RadialShooter.o): in function osgParticle::range<float>::get_random() const:/home/jus/Android/OpenSceneGraph-3.2.1/include/osgParticle/range:59: error: undefined reference to 'rand' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgdb_deprecated_osgparticle.a(IO_RadialShooter.o): in function osgParticle::range<osg::Vec3f>::get_random() const:/home/jus/Android/OpenSceneGraph-3.2.1/include/osgParticle/range:59: error: undefined reference to 'rand' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgDB.a(FileUtils.o): in function osgDB::fileType(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):/home/jus/Android/OpenSceneGraph-3.2.1/src/osgDB/FileUtils.cpp:306: error: undefined reference to 'stat64' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgDB.a(FileUtils.o): in function osgDB::makeDirectory(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):/home/jus/Android/OpenSceneGraph-3.2.1/src/osgDB/FileUtils.cpp:153: error: undefined reference to 'stat64' /home/jus/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/jus/Android/OpenSceneGraph-3.2.1/osginstall/obj/local/armeabi/libosgDB.a(FileUtils.o): in function osgDB::makeDirectory(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):/home/jus/Android/OpenSceneGraph-3.2.1/src/osgDB/FileUtils.cpp:176: error: undefined reference to 'stat64' collect2: ld returned 1 exit status make: *** [obj/local/armeabi/libosgNativeLib.so] Error 1 I'm using OpenSceneGraph 3.2.1 with Android NDK r10c. I hope somebody can help me with this issue. Thanks, Julius _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

