Linux Natives Extraction fix

Probably @norman

Upon investigation why I dont get a linux bullet native extracted I found this:

in class Natives

Natives.extractNativeLib(“linux”, “bulletjme”, true, false);
correct would be
Natives.extractNativeLib(“linux”, “libbulletjme”, true, false);
vice vesa the same missing lib for 64
Natives.extractNativeLib(“linux”, “libbulletjme64”, true, false);

Doing this change in my local version does seem to resolve the issue.

1 Like

Does the issue occur with the lwjgl natives as well?

No, for some reason
fullname = System.mapLibraryName(name);
seems to change the names for them automatically, but not for the bullet ones.

However seeing that mac does already do a special case and the default does not work, combined with the fact that there is already a case for each os and each bitcount-> It might be an idea to simple get rid of all mapping magic and just place the correct names in there for all librarys.

At least I see not much reason to explicitly put a wrong libraryname into the class to let it be remapped.

1 Like

According to the specs the “lib” isn’t part of the name (see it works on darwin), please check this thoroughly on different Linux versions before any of you change it.

Well I better post what I use then:
Openjdk under a Ubuntu 13.10 as well as Openjdk under a ArchLinux seem to have this bahaviour. Might be that this is a openjdk fault?

Anyway the question still stays,
Why d we need to do any kind of mapping if we know exactly what the correct name is.
(And a special case for maxosx is also necessary.)

Could someone please explain what are the benefits of doing this kind of mapping?

@Empire Phoenix said: Well I better post what I use then: Openjdk under a Ubuntu 13.10 as well as Openjdk under a ArchLinux seem to have this bahaviour. Might be that this is a openjdk fault?

Anyway the question still stays,
Why d we need to do any kind of mapping if we know exactly what the correct name is.
(And a special case for maxosx is also necessary.)

Could someone please explain what are the benefits of doing this kind of mapping?

The special case is only needed because the zipped file is named differently, we actually get the correct name from the mapping, including the suffix. So I guess macos is the best example: We don’t know the correct name in advance, it depends on the java version. Obviously its silly when the java on Linux reports a wrong name but anyway thats why I ask that you investigate further before changing this.

Edit: Btw, maybe ask what people who use native bullet say, e.g. @phr00t

Hm so far I’m unable to reproduce the error, in a direct testcase, the openjdk does what it should.
The natives class does also what it should.

Wtf, well I did a system update yesterday evening after posting this. Could this really be?

Well everything works now whyever. So I would say this is closed, if not someone else comes to the same problem.

Heh, thanks :slight_smile: Keep us updated if it happens again.