Hi Julius,

I got the same problem, and I was unable to fix it with the current build
system for android. Thats why I realized the submission with the changes
for building with the ToolChain. I didn't change the examples to use this
new build system but maybe you could you try to build OSG using my
submissions and see if still happens, I'm using osgAndroid (
https://gitorious.org/osgandroid) and it works.

In case you try to use the submission and osgAndroid, you need to copy the
libgnustl_static.a from the NDK
(android-ndk-r10c/sources/cxx-stl/gnu-libstdc++/4.9/libs/<target-platform>/)
to the installed OSG_SDK/lib.

If you find any problems building it, I'll try to fix it ASAP.

Regards,
Rafa.


2014-11-13 11:30 GMT+01:00 Julius Haertl <[email protected]>:

> Hello,
>
> sorry for the bump, but I sill can't figure out, why I get this compilation
> errors. It would be realy nice if someone could take a look at it and help
> me
> out.
>
> Thank you,
> Julius
>
> On Thu, Nov 06, 2014 at 01:17:23AM +0100, Julius Haertl wrote:
> > 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
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>


-- 
Rafael Gaitán Linares
CTO at Mirage Technologies S.L - http://www.mirage-tech.com
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to