libjunixsocket-native-{version}.so not generated on s390x.
See original GitHub issueI tried building junixsocket-native:2.0.4
from source by adding s390x specific details in the aol.properties
. With this the build succeeded but i could not find libjunixsocket-native-2.0.4.so
in the /target/nar/junixsocket-native-* /lib/ * /jni path.
Note: .so file is created in x86(amd64) arch.
@kohlschuetter Any idea on what is preventing the .so files from getting generated ?
aol.properties
s390x.Linux.gpp.c.options=-Wall -Wno-long-long -Wpointer-arith -Wconversion -m64 -march=s390x
s390x.Linux.gpp.cpp.options=-Wall -Wno-long-long -Wpointer-arith -Wconversion -m64 -march=s390x
s390x.Linux.gpp.linker.options=-shared -shared-libgcc -fPIC -fexceptions -m64 -march=s390x
s390x.Linux.linker=gcc
Traces:
[INFO] ------------------------------------------------------------------------
[INFO] Building junixsocket-native 2.0.4
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ junixsocket-native ---
[INFO] Deleting /home/durgadas/installer-build/junixsocket/junixsocket-native/target
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-validate (default-nar-validate) @ junixsocket-native ---
[INFO] Using AOL: s390x-Linux-gcc
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-download (default-nar-download) @ junixsocket-native ---
[INFO] Preparing Nar dependencies
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-unpack (default-nar-unpack) @ junixsocket-native ---
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-gnu-configure (default-nar-gnu-configure) @ junixsocket-native ---
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-system-generate (default-nar-system-generate) @ junixsocket-native ---
[INFO] Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar/nar-generated/org/newsclub/net/unix/NarSystem.java
[INFO] Using 'native-lib-loader'
[INFO]
[INFO] --- maven-dependency-plugin:2.9:unpack (unpack-coding-style) @ junixsocket-native ---
[INFO] Configured Artifact: com.kohlschutter:coding-style:files:1.0.1:zip
[INFO] Unpacking /root/.m2/repository/com/kohlschutter/coding-style/1.0.1/coding-style-1.0.1-files.zip to /home/durgadas/installer-build/junixsocket with includes "" and excludes ""
[INFO]
[INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ junixsocket-native ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/durgadas/installer-build/junixsocket/junixsocket-native/src/main/resources
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-resources (default-nar-resources) @ junixsocket-native ---
[INFO] Copied 0 resources
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-gnu-resources (default-nar-gnu-resources) @ junixsocket-native ---
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-vcproj (default-nar-vcproj) @ junixsocket-native ---
[INFO]
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ junixsocket-native ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/classes
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-javah (default-nar-javah) @ junixsocket-native ---
[INFO] Running /usr/lib/jvm/java-8-openjdk-s390x/bin/javah compiler on 1 classes...
[INFO] + /usr/lib/jvm/java-8-openjdk-s390x/bin/javah -classpath /home/durgadas/installer-build/junixsocket/junixsocket-native/target/classes:/root/.m2/repository/org/scijava/native-lib-loader/2.0.2/native-lib-loader-2.0.2.jar:/root/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar -d /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar/javah-include org.newsclub.net.unix.NarSystem
[ERROR] Picked up _JAVA_OPTIONS: -Xmx10g
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-gnu-make (default-nar-gnu-make) @ junixsocket-native ---
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-compile (default-nar-compile) @ junixsocket-native ---
[INFO] Preparing Nar dependencies
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar
[INFO] Nothing to compile
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-gnu-process (default-nar-gnu-process) @ junixsocket-native ---
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-process-libraries (default-nar-process-libraries) @ junixsocket-native ---
[info] Running process libraries
[info] Processing library Library: type: jni
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-prepare-package (default-nar-prepare-package-1) @ junixsocket-native ---
[INFO]
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ junixsocket-native ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/durgadas/installer-build/junixsocket/junixsocket-native/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ junixsocket-native ---
[INFO] No sources to compile
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-testCompile (default-nar-testCompile) @ junixsocket-native ---
[INFO] Preparing Nar dependencies
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/test-nar
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/test-nar
[INFO]
[INFO] --- maven-surefire-plugin:2.18:test (default-test) @ junixsocket-native ---
[INFO] No tests to run.
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-test (default-nar-test) @ junixsocket-native ---
[INFO] Preparing Nar dependencies
[INFO] Unpacking 0 dependencies to /home/durgadas/installer-build/junixsocket/junixsocket-native/target/test-nar
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-prepare-package (default-nar-prepare-package) @ junixsocket-native ---
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (fix-jnilib) @ junixsocket-native ---
[INFO] Executing tasks
main:
[INFO] Executed tasks
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-package (default-nar-package) @ junixsocket-native ---
[INFO]
[INFO] --- maven-jar-plugin:2.5:jar (default-jar) @ junixsocket-native ---
[INFO] Building jar: /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4.jar
[INFO]
[INFO] --- maven-source-plugin:2.4:jar-no-fork (attach-sources) @ junixsocket-native ---
[INFO] Building jar: /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4-sources.jar
[INFO]
[INFO] --- maven-javadoc-plugin:2.10.1:jar (attach-javadocs) @ junixsocket-native ---
[INFO]
Loading source files for package org.newsclub.net.unix...
Constructing Javadoc information...
Standard Doclet version 1.8.0_191
Building tree for all the packages and classes...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/NarSystem.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/package-frame.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/package-summary.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/package-tree.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/constant-values.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/class-use/NarSystem.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/org/newsclub/net/unix/package-use.html...
Building index for all the packages and classes...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/overview-tree.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/index-all.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/deprecated-list.html...
Building index for all classes...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/allclasses-frame.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/allclasses-noframe.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/index.html...
Generating /home/durgadas/installer-build/junixsocket/junixsocket-native/target/apidocs/help-doc.html...
1 warning
[WARNING] Javadoc Warnings
[WARNING] Picked up _JAVA_OPTIONS: -Xmx10g
[WARNING] /home/durgadas/installer-build/junixsocket/junixsocket-native/target/nar/nar-generated/org/newsclub/net/unix/NarSystem.java:26: warning - Tag @author cannot be used in method documentation. It can only be used in the following types of documentation: overview, package, class/interface.
[INFO] Building jar: /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4-javadoc.jar
[INFO]
[INFO] --- nar-maven-plugin:3.2.0:nar-integration-test (default-nar-integration-test) @ junixsocket-native ---
[INFO] No tests to run.
[INFO]
[INFO] --- license-maven-plugin:2.6:check (default) @ junixsocket-native ---
[INFO] Checking licenses...
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ junixsocket-native ---
[INFO] Installing /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4.jar to /root/.m2/repository/com/kohlschutter/junixsocket/junixsocket-native/2.0.4/junixsocket-native-2.0.4.nar
[INFO] Installing /home/durgadas/installer-build/junixsocket/junixsocket-native/pom.xml to /root/.m2/repository/com/kohlschutter/junixsocket/junixsocket-native/2.0.4/junixsocket-native-2.0.4.pom
[INFO] Installing /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4-sources.jar to /root/.m2/repository/com/kohlschutter/junixsocket/junixsocket-native/2.0.4/junixsocket-native-2.0.4-sources.jar
[INFO] Installing /home/durgadas/installer-build/junixsocket/junixsocket-native/target/junixsocket-native-2.0.4-javadoc.jar to /root/.m2/repository/com/kohlschutter/junixsocket/junixsocket-native/2.0.4/junixsocket-native-2.0.4-javadoc.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:27 min
[INFO] Finished at: 2019-03-26T13:16:18+00:00
[INFO] Final Memory: 34M/83M
[INFO] ------------------------------------------------------------------------
CMD: root@d704538f7c93:/home/durgadas/installer-build/junixsocket/junixsocket-native# ls target/nar/ Result : javah-include/ nar-generated/
Issue Analytics
- State:
- Created 4 years ago
- Comments:12 (1 by maintainers)
Top Results From Across the Web
Cross-compiling Rust to s390x yields a faulty toolchain #80810
I can reproduce this on RHEL 7 s390x, but not ppc64, so it would seem to be something other than endian order. I...
Read more >S390X - Ubuntu Server for IBM zSystems and LinuxONE
(1680101) - This is fixed with 18.04. Q: LVM configuration cannot be removed when volume groups with the same name are found during...
Read more >S/390 and zSeries Options - GCC, the GNU Compiler Collection
Generate (or do not generate) code using the bras instruction to do subroutine calls. This only works reliably if the total executable size...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@sriemer yup, steps you mentioned worked for me as well.
I have a LinuxONE Community Cloud z/VM 6.4 guest running on the mainframe of Marist College (see: https://developer.ibm.com/linuxone/). I chose SLES12-SP3 but
llvm
withclang
is not supported/available. So I branched llvm 3.8.0 intended for SLES12-SP3 in OBS: https://build.opensuse.org/project/show/home:spars_instana:sle12sp3-llvm3.8 and installed it from there.I’ve prepared two patches to compile
junixsocket
withclang
on that s390x machine: https://github.com/sriemer/junixsocket/commits/s390xIt compiles fine with IBM Java 8, clang, llvm, and
now. The only disadvantage is that I cannot run the tests as those also require at least Java 9.
But I get:
and build success. I guess this is the best we can get for now.
@imdurgadas Can you please test if this works for you as well? TIA