Aarch64 GNU/Linux physics


#1

So, I m using PhysicsSpace in headless mode (on intel host pretty trivial)

 System.load("/<some path>/libbulletjme.so");
 physicSpace = new PhysicsSpace();

I have this single motherboard “computer” with raspbian os

dpkg --print-architecture 
arm64

So I though what would could be different on different architecture :grinning:
Lets pick one those libs

and do the same exercise

java -cp some.jar some.package.Test

And of course start complaining that can not open other shared object files. Then I though lets grabs some from here :grinning:

till it stops complaining and in the end it run but the vm crashed.
So the question is it possible to compile libbulletjme.so for this architecture or make working the existing one from the repo, because from what I understood from brief reading is that jbullet is not option and I need to use natives.


#2

In that case jBullet would work, especially in these cases, it’s just old and not fixed anymore :smiley:
You cannot make the existing code work, you need to take jme3-bullet-native from github and try to compile it from there “somehow”


#3

i try understand what is the true issue. i mean why you can just include native-bullet jar to your project and use?

but anyway i understand that raspbian os is not compatible with linux lib somehow.

default JME native source that you can compile for raspbian are here(if im not wrong and its not just wrapper):
/jMonkeyEngine/jmonkeyengine/tree/master/jme3-bullet-native

i dont think this lib require something that raspberry dont have.

so you would just need compile it for this architecture (im not sure what command they use for compiling it - i mean if it require some additional cpp libs or special params for gcc)

but maybe @sgold who already were compiling it, have raspbian too somewhere and will just compile it for u, or just tell u what command use.

anyway i thought linux so lib to be working for raspbian, good to know its not.

btw why do you use raspberry pi for physics? its nice motherboard “computer”, but i remember we were using it only to manage simple tasks.(also it had some problems working apps(some of them) 24/day for some reason)


#4

I’ve never built any software for the Arm64 architecture, but joliver82 has built libbulletjme shared objects for it (v8a) and kindly contributed them to our project:

https://github.com/jMonkeyEngine/jmonkeyengine/commit/2b1c3d22e8c44bba68e44c975e6b46bed8c14990

This SO is included in the jme3-bullet-native-android library.

If the VM crashed when you ran your code, where is the stack trace?

Why is jbullet not an option for you?


#5

I though that since arm is the widely used architecture on android devices and on android os is used android natives ( jme3-bullet-native-android loads shared objects) same will apply for the orange pi ( my crappy single board device ). I will try also to provide code and stack trace.


#6

it started with jbullet, but the others stuff of the server does not seem to work how they works normally.