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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions