Hello,
I'm currently working on a personal game engine project. For this project, I am using Travis and Maven for unit testing and code coverage. While tests all work fine on my laptop, even pulling and building from a completely clean slate, some of the tests which require LWJGL libraries in order to run while failing on Travis. The library in question is Assimp.
Travis Build Log:
[05:10:33][Info][Time-limited test] Loading the resource [Res: unit_tests/cube.fbx].
Exception in thread "Thread-7" java.lang.ExceptionInInitializerError
at net.whg.frameworks.external.AssimpAPIBridge.load(AssimpAPIBridge.java:13)
at net.whg.we.resource.MeshConverterFuture.run(MeshConverterFuture.java:48)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at org.lwjgl.system.Checks.check(Checks.java:99)
at org.lwjgl.system.Pointer$Default.<init>(Pointer.java:52)
at org.lwjgl.system.SharedLibrary$Default.<init>(SharedLibrary.java:18)
at org.lwjgl.system.linux.LinuxLibrary.<init>(LinuxLibrary.java:19)
at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:124)
at org.lwjgl.system.Library.loadNativeFromSystem(Library.java:300)
at org.lwjgl.system.Library.loadNative(Library.java:286)
at org.lwjgl.assimp.Assimp.<clinit>(Assimp.java:1859)
... 3 more
The code on the line in question is simply the line indicated below.
@Override
public AssimpScene load(File file)
{
>>>>> AIPropertyStore settings = Assimp.aiCreatePropertyStore();
Assimp.aiSetImportPropertyInteger(settings, Assimp.AI_CONFIG_PP_SLM_VERTEX_LIMIT, 65535);
AIScene scene = Assimp.aiImportFile(file.toString(),
Assimp.aiProcess_Triangulate | Assimp.aiProcess_GenSmoothNormals | Assimp.aiProcess_FlipUVs
| Assimp.aiProcess_CalcTangentSpace | Assimp.aiProcess_LimitBoneWeights
| Assimp.aiProcess_SplitLargeMeshes | Assimp.aiProcess_OptimizeMeshes
| Assimp.aiProcess_JoinIdenticalVertices);
Assimp.aiReleasePropertyStore(settings);
if (scene == null)
return null;
AssimpScene s = new AssimpSceneBridge(scene);
Assimp.aiReleaseImport(scene);
return s;
}
I'm not sure how to approach the issue of configuring the native library path to load in this scenario, and any advice to point me in the right direction would be wonderful. I've spent several hours on Google looking this problem up, but to no avail. It also worth noting I am currently using LWJGL version 3.1.6.
Thank you in advance and have an amazing day.