scorpion81
scorpion81

Reputation: 171

Unable to run Woden Physics Example in Pharo

I am trying to run the Woden Physics Example inside Pharo which involves getting Bullet properly compiled and the smalltalk bindings properly installed in Pharo.

I am using Linux Mint 17 x64.

But NativeBoost seems unable to load the compiled libraries. I have been using the sources provided here:

https://github.com/ronsaldo/bullet-pharo

https://github.com/ronsaldo/swig

I built the modified version of swig as well as the bullet libraries and bindings with the provided build scripts. I also have doublechecked that the bullet libraries are 32 bit. Opening up the Woden physics example returns this error:

 failed to get a symbol address:
 PharoNB_new_BTDefaultCollisionConfiguration__SWIG_1

When examining the call stack in the debugger, it turns out that the module handle is 0.

I verified this by executing the same message as

BulletCInterface nbLibraryNameOrHandle

executes:

NativeBoost forCurrentPlatform loadModule: 'BulletPharo'

This message returns 0. I tried to specify the full path to libPharoBullet.so in the workspace, like:

NativeBoost forCurrentPlatform loadModule: 
'/home/martin/.local/share/Pharo/bullet-pharo/libBulletPharo.so'

with the same result. I also verified it with a 32 bit system library of mine (liblzma) and there NativeBoost was able to load it, as it returned a non-zero handle.

So i suspect something during compilation went wrong... I also did

readelf -h libPharoBullet.so

and its ABI was "UNIX - GNU" while the ABI of pharo-vm is "UNIX - System V"

Could this be the problem here ? How can i force the ABI to be System V when compiling ? I use gcc 4.8.2

Or what steps could i otherwise perform ?

Upvotes: 2

Views: 225

Answers (0)

Related Questions