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

Reply via email to