Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

Generated liberty application won't start on ppc64le due to x86_64 agentlib. #412

Open
hhellyer opened this issue Nov 20, 2018 · 0 comments

Comments

@hhellyer
Copy link

If I use generator-ibm-java to generate a liberty app I can't start it on ppc64le.
It fails with:

[INFO] CWWKM2001I: Invoke command is [/opt/ibm/wlp/bin/server, create, defaultServer].
[INFO] JVMJ9TI001E Agent library am_ibm_16 could not be opened (libam_ibm_16.so: cannot open shared object file: No such file or directory)
[INFO] JVMJ9VM015W Initialization error for library j9jvmti29(-3): JVMJ9VM009E J9VMDllMain failed

The cause seems to be the apm agent library that is now loaded:

JVM_ARGS="$JVM_ARGS -agentlib:am_ibm_16=defaultServer -Xbootclasspath/p:/opt/ibm/wlp/usr/extension/liberty_dc/toolkit/lib/bcm-bootstrap.jar -Xverbosegclog:/logs/gc.log,1,10000 -verbosegc -Djava.security.policy=/opt/ibm/wlp/usr/extension/liberty_dc/itcamdc/etc/datacollector.policy -Dliberty.home=/opt/ibm/wlp"

The library loaded by -agentlib:am_ibm_16=defaultServer is a 64 bit intel binary:

$ file libam_ibm_16.so 
libam_ibm_16.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7f85911c0dc37ea4a0826f8119e7e7dd282152b5, not stripped

It looks like installUtility install --acceptLicense apmDataCollector-7.4 only installs an intel binary regardless of architecture. This prevents us starting the application on ppc64le.

All of the docker images are multi-arch and liberty is Java code so if I disable that in the docker file then the application starts without problem on ppc64le.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

1 participant