I'm trying to fix some errors I have in the Docker Groovy
<https://github.com/groovy/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
<https://doi-janky.infosiftr.net/job/multiarch/view/images/view/groovy/job/ppc64le/job/groovy/lastSuccessfulBuild/consoleFull>*
Dec 29, 2018 6:10:09 PM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeExtensions]
Dec 29, 2018 6:10:09 PM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeStaticExtensions]
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at
org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
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.<clinit>(CLibrary.java:42)
    at
org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
    at org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:195)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.isJansiConsoleInstalled(CommandLine.java:9362)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.ansiPossible(CommandLine.java:9358)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.enabled(CommandLine.java:9376)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi$Text.toString(CommandLine.java:9728)
    at java.lang.String.valueOf(String.java:2849)
    at java.io.PrintStream.println(PrintStream.java:821)
    at
groovyjarjarpicocli.CommandLine.printVersionHelp(CommandLine.java:1563)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:1027)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:995)
    at groovy.ui.GroovyMain.processArgs(GroovyMain.java:130)
    at groovy.ui.GroovyMain.main(GroovyMain.java:116)
    ... 6 more

*arm64v8
<https://doi-janky.infosiftr.net/job/multiarch/view/images/view/groovy/job/arm64v8/job/groovy/lastSuccessfulBuild/consoleFull>*
Dec 30, 2018 2:32:22 AM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeExtensions]
Dec 30, 2018 2:32:23 AM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeStaticExtensions]
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at
org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
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.<clinit>(CLibrary.java:42)
    at
org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
    at org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:195)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.isJansiConsoleInstalled(CommandLine.java:9362)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.ansiPossible(CommandLine.java:9358)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.enabled(CommandLine.java:9376)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi$Text.toString(CommandLine.java:9728)
    at java.lang.String.valueOf(String.java:2849)
    at java.io.PrintStream.println(PrintStream.java:821)
    at
groovyjarjarpicocli.CommandLine.printVersionHelp(CommandLine.java:1563)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:1027)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:995)
    at groovy.ui.GroovyMain.processArgs(GroovyMain.java:130)
    at groovy.ui.GroovyMain.main(GroovyMain.java:116)
    ... 6 more

<https://doi-janky.infosiftr.net/job/multiarch/view/images/view/groovy/job/arm64v8/job/groovy/lastSuccessfulBuild/consoleFull>
*s390x
<https://doi-janky.infosiftr.net/job/multiarch/view/images/view/groovy/job/s390x/job/groovy/lastSuccessfulBuild/consoleFull>*
Dec 29, 2018 5:55:19 PM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeExtensions]
Dec 29, 2018 5:55:20 PM
org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-datetime] - Unable to load extension class
[org.apache.groovy.datetime.extensions.DateTimeStaticExtensions]
[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
<libfile>', or link it with '-z noexecstack'.
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at
org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:110)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
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.<clinit>(CLibrary.java:42)
    at
org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
    at org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:195)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.isJansiConsoleInstalled(CommandLine.java:9362)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.ansiPossible(CommandLine.java:9358)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi.enabled(CommandLine.java:9376)
    at
groovyjarjarpicocli.CommandLine$Help$Ansi$Text.toString(CommandLine.java:9728)
    at java.lang.String.valueOf(String.java:2849)
    at java.io.PrintStream.println(PrintStream.java:821)
    at
groovyjarjarpicocli.CommandLine.printVersionHelp(CommandLine.java:1563)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:1027)
    at
groovyjarjarpicocli.CommandLine.printHelpIfRequested(CommandLine.java:995)
    at groovy.ui.GroovyMain.processArgs(GroovyMain.java:130)
    at groovy.ui.GroovyMain.main(GroovyMain.java:116)
    ... 6 more

I tried installing Jansi native packages (libjansi-native-java on Debian,
java-jansi-native on Alpine), but that didn't seem to help (at least for
linux-ppc64le that I tested on Travis). It seems like maybe jansi-native is
missing support for these architectures? Though I don't know why arm32v5,
arm32v6, and arm32v7 appear to have built fine. Has anyone used Jansi on
these problematic architectures? Have any suggestions?

-Keegan

Reply via email to