Thank Jörg for the testing.

>>I am building crypto with my compiler zoo on Gentoo Linux with OpenSSL 1.02h 
>>installed.
I don't have environment with Gentoo Linux, I just tested the library with 
OpenJDK on pure Ubuntu OS: OpenJDK 7 on Ubuntu 14.04 and OpenJDK 8 on Ubuntu 
16.04, All of them are passed:

Here are the steps for the pure Ubuntu OS
1. Install essential tools
apt-get update
apt-get install openjdk-7-jdk (on 14.04)/ apt-get install openjdk-8-jdk (on 
16.04)
apt-get install make gcc g++ git

2.Install Openssl development tools
apt-get install libssl-dev

3.Set maven and JAVA_HOME

4.git clone the source code and run "mvn clean test"

Here are the version for the two environment
For Ubuntu 16.04
Java version is
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

Openssl version is
OpenSSL 1.0.2g-fips  1 Mar 2016

For Ubuntu 14.04
Java version is 
java version "1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.14.04.1) 
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

Openssl version is
OpenSSL 1.0.1f 6 Jan 2014

Is your Openssl got from OS repo, if you compiled it yourself, do you add 
"shared" to you config args before make?

>> However, the build first fails and then hangs in a unit test when building 
>> with IBM JDK 7

About building CRYPTO on IBM JDK, I wonder if we should support it, because 
even for different minor versions of IBM JDK 7, the JNI header files may be 
changed, the change would be cause some weird failures at native. But the 
binary would be right, I have test the RC1 on latest IBM JDK 7 from their 
official website, all the tests are okay.

About the build fails, I did't encounter it before, if it is the same 
environment with openjdk, I think we can fix the Openssl shade issue first, if 
we encounter it again, we can run the pure unit tests, I uploaded them to my 
personal repo: https://github.com/sundapeng/TCRYPTO.git, could you help verify 
it in your environment?( The cached files in maven should be cleaned before 
test, for example: rm ~/.m2/repository/org/apache/commons/commons-crypto/ -rf). 

About the test hang, if the hanging UT is the test for JavaSecureRandom, it 
should be an issue about SecureRandom in JDK. 
https://bugs.openjdk.java.net/browse/JDK-6577564


Here is the IBM JDK in my environment:
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470_27sr3fp40-20160422_01(SR3 FP40))
IBM J9 VM (build 2.7, JRE 1.7.0 Linux amd64-64 Compressed References 
20160406_298393 (JIT enabled, AOT enabled)
J9VM - R27_Java727_SR3_20160406_0942_B298393
JIT  - tr.r13.java_20160328_114186
GC   - R27_Java727_SR3_20160406_0942_B298393_CMPRSS
J9CL - 20160406_298393)
JCL - 20160421_01 based on Oracle jdk7u101-b14


Regards
Dapeng

-----Original Message-----
From: Jörg Schaible [mailto:joerg.schai...@gmx.de] 
Sent: Friday, July 29, 2016 5:04 AM
To: dev@commons.apache.org
Subject: Re: [VOTE] Release CRYPTO 1.0.0 based on RC1

Hi,

I am building crypto with my compiler zoo on Gentoo Linux with OpenSSL 1.02h 
installed. Even compiling with Java 9 works, tests fail only because of a 
missing jce.

Running the tests I get always those two warnings:

==================== %< ====================== Running 
org.apache.commons.crypto.NativeCodeLoaderTest
** WARN: Native (JNI) code was not loaded: java.lang.UnsatisfiedLinkError: 
/tmp/commons-crypto-9c688d6a-fc55-4a35-9d78-79cedd4ad842-libcommons-
crypto.so: /tmp/commons-crypto-9c688d6a-fc55-4a35-9d78-79cedd4ad842-
libcommons-crypto.so: failed to map segment from shared object Tests run: 5, 
Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.008 sec - in 
org.apache.commons.crypto.NativeCodeLoaderTest
Running org.apache.commons.crypto.jna.OpenSslNativeJnaTest
** WARN: JNA could not be enabled: 
/tmp/jna--1154654109/jna4836274946397519400.tmp: 
/tmp/jna--1154654109/jna4836274946397519400.tmp: failed to map segment from 
shared object Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 
sec - in org.apache.commons.crypto.jna.OpenSslNativeJnaTest
==================== %< ======================

The build of the shared library produces additional warnings for OpenJDK 7 (and 
OpenJDK 8 produces same warning):
==================== %< ====================== [INFO] --- 
maven-antrun-plugin:1.8:run (make) @ commons-crypto --- [INFO] Executing tasks

make:
     [exec] "/home/joehni/.gentoo/java-config-2/current-user-vm/bin/javah" - 
force -classpath target/classes -o target/jni- 
classes/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.h
org.apache.commons.crypto.random.OpenSslCryptoRandomNative
     [exec] gcc -Ilib/inc_linux -I/home/joehni/.gentoo/java- 
config-2/current-user-vm/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-m64 -Ilib/include -I/usr/include -
I"src/main/native/org/apache/commons/crypto/" -I"/home/joehni/.gentoo/java- 
config-2/current-user-vm/include/linux" -I"target/jni- 
classes/org/apache/commons/crypto/cipher" -I"target/jni- 
classes/org/apache/commons/crypto/random" -c 
src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c
-o target/commons-crypto-1.0.0-Linux-x86_64/OpenSslCryptoRandomNative.o
     [exec] In file included from
src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19:0:
     [exec]
src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:24:0:
 
warning: "UNUSED" redefined
     [exec]  #define UNUSED(x) ((void)(x))
     [exec]  ^
     [exec] In file included from /home/joehni/.gentoo/java- 
config-2/current-user-vm/include/jni.h:45:0,
     [exec]                  from 
src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:71,
     [exec]                  from 
src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22,
     [exec]                  from 
src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19:
     [exec] /home/joehni/.gentoo/java-config-2/current-user-
vm/include/linux/jni_md.h:40:0: note: this is the location of the previous 
definition
     [exec]    #define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
     [exec]  ^
     [exec] "/home/joehni/.gentoo/java-config-2/current-user-vm/bin/javah" - 
force -classpath target/classes -o target/jni- 
classes/org/apache/commons/crypto/cipher/OpenSslNative.h
org.apache.commons.crypto.cipher.OpenSslNative
     [exec] gcc -Ilib/inc_linux -I/home/joehni/.gentoo/java- 
config-2/current-user-vm/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-m64 -Ilib/include -I/usr/include -
I"src/main/native/org/apache/commons/crypto/" -I"/home/joehni/.gentoo/java- 
config-2/current-user-vm/include/linux" -I"target/jni- 
classes/org/apache/commons/crypto/cipher" -I"target/jni- 
classes/org/apache/commons/crypto/random" -c 
src/main/native/org/apache/commons/crypto/cipher/OpenSslNative.c -o 
target/commons-crypto-1.0.0-Linux-x86_64/OpenSslNative.o
     [exec] "/home/joehni/.gentoo/java-config-2/current-user-vm/bin/javah" - 
force -classpath target/classes -o target/jni- 
classes/org/apache/commons/crypto/OpenSslInfoNative.h
org.apache.commons.crypto.OpenSslInfoNative
     [exec] gcc -Ilib/inc_linux -I/home/joehni/.gentoo/java- 
config-2/current-user-vm/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-m64 -Ilib/include -I/usr/include -
I"src/main/native/org/apache/commons/crypto/" -I"/home/joehni/.gentoo/java- 
config-2/current-user-vm/include/linux" -I"target/jni- 
classes/org/apache/commons/crypto/cipher" -I"target/jni- 
classes/org/apache/commons/crypto/random" -DVERSION='"1.0.0"' - 
DPROJECT_NAME='"Apache Commons Crypto"' -I"target/jni- 
classes/org/apache/commons/crypto" -c 
src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c -o 
target/commons-crypto-1.0.0-Linux-x86_64/OpenSslInfoNative.o
     [exec] g++ -Ilib/inc_linux -I/home/joehni/.gentoo/java- 
config-2/current-user-vm/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-m64 -Ilib/include  -I/usr/include -I"/home/joehni/.gentoo/java- 
config-2/current-user-vm/include/linux" -I"target/jni- 
classes/org/apache/commons/crypto/cipher" -I"target/jni- 
classes/org/apache/commons/crypto/random" -o target/commons-crypto-1.0.0- 
Linux-x86_64/libcommons-crypto.so target/commons-crypto-1.0.0-Linux-
x86_64/OpenSslCryptoRandomNative.o target/commons-crypto-1.0.0-Linux-
x86_64/OpenSslNative.o target/commons-crypto-1.0.0-Linux-
x86_64/OpenSslInfoNative.o -shared -static-libgcc -static-libstdc++
     [exec] strip target/commons-crypto-1.0.0-Linux-x86_64/libcommons-
crypto.so
     [exec] cp target/commons-crypto-1.0.0-Linux-x86_64/libcommons-crypto.so
target/classes/org/apache/commons/crypto/native/Linux/x86_64/libcommons-
crypto.so
     [exec] cp target/commons-crypto-1.0.0-Linux-x86_64/libcommons-crypto.so
target/classes/org/apache/commons/crypto/native/Linux/x86_64/libcommons-
crypto.so
==================== %< ====================== $ java -version java version 
"1.7.0_101"
OpenJDK Runtime Environment (IcedTea 2.6.6) (Gentoo icedtea-7.2.6.6) OpenJDK 
64-Bit Server VM (build 24.95-b01, mixed mode) ==================== %< 
======================


However, the build first fails and then hangs in a unit test when building with 
IBM JDK 7:
==================== %< ====================== [...]
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.commons.crypto.stream.CtrCryptoStreamTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.129 sec - in 
org.apache.commons.crypto.stream.CtrCryptoStreamTest
Running org.apache.commons.crypto.stream.CtrNoPaddingCipherStreamTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 sec - in 
org.apache.commons.crypto.stream.CtrNoPaddingCipherStreamTest
Running org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest
Tests run: 2, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 0.068 sec <<< 
FAILURE! - in org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest
doTestJCE(org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest)
Time elapsed: 0.057 sec  <<< ERROR!
java.nio.BufferUnderflowException
        at
org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest.testPositionedReadLoop(PositionedCryptoInputStreamTest.java:226)
        at
org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest.doPositionedReadTests(PositionedCryptoInputStreamTest.java:154)
        at
org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest.testCipher(PositionedCryptoInputStreamTest.java:107)
        at
org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest.doTestJCE(PositionedCryptoInputStreamTest.java:97)

Running org.apache.commons.crypto.stream.CbcNoPaddingCipherStreamTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.115 sec - in 
org.apache.commons.crypto.stream.CbcNoPaddingCipherStreamTest
Running org.apache.commons.crypto.stream.CbcPkcs5PaddingCipherStreamTest
^C
==================== %< ====================== $ java -version java version 
"1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr5-20130619_01(SR5)) IBM J9 VM 
(build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References
20130617_152572 (JIT enabled, AOT enabled) J9VM - 
R26_Java726_SR5_20130617_1436_B152572
JIT  - r11.b04_20130528_38954ifx1
GC   - R26_Java726_SR5_20130617_1436_B152572_CMPRSS
J9CL - 20130617_152572)
JCL - 20130616_01 based on Oracle 7u25-b12 ==================== %< 
======================

Cheers,
Jörg



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to