ObjectArrayList IndexOutOfBounds exceptions

@phr00t said:
That would disable building for other platforms, though? Then I couldn't have a complete build of 2.8.1 (or whatever later version I decide to build) for release to the public?

Like I said, you cannot build for mac anyway.

Ah, OK. Even more pointless to build myself :stuck_out_tongue:

Yeah :slight_smile: But if you can build on your own pc then you can still try to bugfix issues that come up for you and we check if they can be applied.

Still get this error with cross.compile = false:



[java]-nativelib-linux-64:

[echo] Building 64 bit Linux version of native bullet

[cc] Starting dependency analysis for 36 files.

[cc] 36 files are up to date.

[cc] 0 files to be recompiled from dependency analysis.

[cc] 1 total files to be compiled.

[cc] g++ -c -fPIC -I/usr/lib/jvm/java-7-openjdk-amd64/include -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux -I/home/phr00t/jme3src/jmonkeyengine-read-only/bullet-2.81-rev2613/src /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp: In member function ‘virtual btScalar Java_com_jme3_bullet_PhysicsSpace_rayTest_1native(JNIEnv*, jobject, jobject, jobject, jlong, jobject)::AllRayResultCallback::addSingleResult(btCollisionWorld::LocalRayResult&, bool)’:

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp:451:146: error: invalid conversion from ‘const btCollisionObject*’ to ‘btCollisionObject*’ [-fpermissive]

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmeBulletUtil.h:48:17: error: initializing argument 6 of ‘static void jmeBulletUtil::addResult(JNIEnv*, jobject, btVector3, btVector3, btScalar, btCollisionObject*)’ [-fpermissive]

[/java]



Remember I am building on Linux 64… so this is the native I will need to build :stuck_out_tongue:

throw a -fpermissive in to allow all kind fo dirty c++ shit, then it works

[java]-nativelib-linux-64:

[echo] Building 64 bit Linux version of native bullet

[cc] 37 total files to be compiled.

[cc] g++ -fpermissive -c -fPIC -I/usr/lib/jvm/java-7-openjdk-amd64/include -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux -I/home/phr00t/jme3src/jmonkeyengine-read-only/bullet-2.81-rev2613/src /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmePhysicsSpace.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmeMotionState.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_MeshCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_CollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_ConeCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_GImpactCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_PhysicsCollisionEvent.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_HingeJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_Point2PointJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmeClasses.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_HullCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_PhysicsRigidBody.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_SimplexCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_CompoundCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_SixDofJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_PlaneCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_PhysicsGhostObject.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_SphereCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_SliderJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_PhysicsCollisionObject.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_SixDofSpringJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_CylinderCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_util_NativeMeshUtil.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_infos_RigidBodyMotionState.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_VehicleWheel.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_PhysicsCharacter.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_motors_RotationalLimitMotor.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_motors_TranslationalLimitMotor.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_ConeJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_joints_PhysicsJoint.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_collision_shapes_BoxCollisionShape.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_objects_PhysicsVehicle.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmeBulletUtil.cpp /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_util_DebugShapeFactory.cpp

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp: In member function ‘virtual btScalar Java_com_jme3_bullet_PhysicsSpace_rayTest_1native(JNIEnv*, jobject, jobject, jobject, jlong, jobject)::AllRayResultCallback::addSingleResult(btCollisionWorld::LocalRayResult&, bool)’:

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/com_jme3_bullet_PhysicsSpace.cpp:451:146: warning: invalid conversion from ‘const btCollisionObject*’ to ‘btCollisionObject*’ [-fpermissive]

[cc] /home/phr00t/jme3src/jmonkeyengine-read-only/engine/src/bullet-native/jmeBulletUtil.h:48:17: warning: initializing argument 6 of ‘static void jmeBulletUtil::addResult(JNIEnv*, jobject, btVector3, btVector3, btScalar, btCollisionObject*)’ [-fpermissive]

[cc] Starting link

[cc] gcc -shared -o libbulletjme64.so …/…/…/…/…/build/bullet-native-64/jmePhysicsSpace.o …/…/…/…/…/build/bullet-native-64/jmeMotionState.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_MeshCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_CollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_ConeCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_GImpactCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_PhysicsCollisionEvent.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_HingeJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_Point2PointJoint.o …/…/…/…/…/build/bullet-native-64/jmeClasses.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_HullCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_PhysicsRigidBody.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_SimplexCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_CompoundCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_PhysicsSpace.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_SixDofJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_PlaneCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_PhysicsGhostObject.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_SphereCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_SliderJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_PhysicsCollisionObject.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_SixDofSpringJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_CylinderCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_util_NativeMeshUtil.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_infos_RigidBodyMotionState.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_VehicleWheel.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_PhysicsCharacter.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_motors_RotationalLimitMotor.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_motors_TranslationalLimitMotor.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_ConeJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_joints_PhysicsJoint.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_collision_shapes_BoxCollisionShape.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_objects_PhysicsVehicle.o …/…/…/…/…/build/bullet-native-64/jmeBulletUtil.o …/…/…/…/…/build/bullet-native-64/com_jme3_bullet_util_DebugShapeFactory.o -L…/…/…/…/…/build/bullet-base-64 -lBulletMultiThreaded -lBulletDynamics -lBulletCollision -lLinearMath -lstdc++

[cc] /usr/bin/ld: error: cannot find -lBulletMultiThreaded

[cc] collect2: ld returned 1 exit status



BUILD FAILED

/home/phr00t/jme3src/jmonkeyengine-read-only/engine/build.xml:10: The following error occurred while executing this line:

/home/phr00t/jme3src/jmonkeyengine-read-only/engine/nbproject/build-bullet-natives.xml:339: gcc failed with return code 1[/java]



http://media.tumblr.com/tumblr_lqu14fBg1z1qh1km4.jpg

Your fpermissive is specifed wrong, as far as i remember it only works on a certain position in the commandline.

(see error one you get, it states taht fpermissive is needed)



Alternativly and nicer would be if you try to get rid of the consts where not usefull and submit a patch so it can be build without some constant cast hacks :slight_smile:

I just wanted to pop in and say I’ve been using the bullet natives after updating to SVN and things have been going smoothly so far. rayTests are working as expected (values are not reversed) and multithreading is working beautifully with zero crashes. I’ve got lots of coding to catch up on so I haven’t further played with trying to compile the bullet natives myself…