Skip to content

Jansi on ppc64le, arm64v8, and s390x #16

@keeganwitt

Description

@keeganwitt

Sorry for opening this as an issue. I tried to post it on the mailing list, but I think my message must be pending or something (plus there doesn't seem to be much activity there).

I'm trying to fix some errors I have in the Docker Groovy images on the ppc64le, arm64v8, and s390x architectures. I don't personally have any experience working with these architectures. Here are the errors I get

powerpc64le

Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, /tmp/libjansi-64-6177151729256195035.so: Error relocating /tmp/libjansi-64-6177151729256195035.so: unsupported relocation type 7 (Possible cause: can't load AMD 64-bit .so on a Power PC 64-bit platform)]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
at org.fusesource.jansi.internal.CLibrary.(CLibrary.java:42)
at org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
at org.fusesource.jansi.AnsiConsole.(AnsiConsole.java:38)

arm64v8

Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, /tmp/libjansi-64-6661390371961894243.so: Error relocating /tmp/libjansi-64-6661390371961894243.so: unsupported relocation type 7 (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
at org.fusesource.jansi.internal.CLibrary.(CLibrary.java:42)
at org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
at org.fusesource.jansi.AnsiConsole.(AnsiConsole.java:38)

s390x

[0mOpenJDK 64-Bit Zero VM warning: You have loaded library /tmp/libjansi-64-7943786764210458085.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
...
Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, /tmp/libjansi-64-7943786764210458085.so: Error loading shared library /tmp/libjansi-64-7943786764210458085.so: Exec format error (Possible cause: endianness mismatch)]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
at org.fusesource.jansi.internal.CLibrary.(CLibrary.java:42)
at org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
at org.fusesource.jansi.AnsiConsole.(AnsiConsole.java:38)

I tried installing Jansi native packages (libjansi-native-java on Debian, java-jansi-native on Alpine). The Debian package doesn't have separate versions for different architectures, but the Alpine packages do. But that didn't seem to help (at least for linux-ppc64le that I tested on Travis). I know Paul-Ionut Vaduva asked about aarch64 twice on the mailing list (here and here), and @VallariTrivedi asked about aarch64 in this issue.

Does jansi-native support these architectures? It looks like there isn't a jar published for these architectures (just linux32 and linux 64).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions