#48780 Unable to build idm-console-framework
Closed: Invalid None Opened 3 years ago by imntreal.

I'm trying to build idm-console-framework on Arch linux, but the build currently fails for both 1.1.14 and latest git. Let me know what other information will be helpful. Here's the output:

/usr/bin/ant -Dlib.dir=/usr/lib \
-Dbuilt.dir=pwd/built \
-Dclassdest=/usr/share/java
Buildfile: /home/imntreal/idm-console-framework/build.xml

prepare_imports:

prepare_build:
[mkdir] Created dir: /home/imntreal/idm-console-framework/built/classes

import_ldapjdk:

import_jss_jar:

build:
[javac] /home/imntreal/idm-console-framework/build.xml:183: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 403 source files to /home/imntreal/idm-console-framework/built/classes
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:410: error: cannot find symbol
[javac] return org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.ssl3;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:412: error: cannot find symbol
[javac] return org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.tls1_0;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:414: error: cannot find symbol
[javac] return org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.tls1_1;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:416: error: cannot find symbol
[javac] return org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.tls1_2;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:427: error: cannot find symbol
[javac] int min = org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.tls1_0;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:428: error: cannot find symbol
[javac] int max = org.mozilla.jss.ssl.SSLSocket.SSLVersionRange.tls1_2;
[javac] ^
[javac] symbol: variable SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:444: error: cannot find symbol
[javac] org.mozilla.jss.ssl.SSLSocket.SSLVersionRange range =
[javac] ^
[javac] symbol: class SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:445: error: cannot find symbol
[javac] new org.mozilla.jss.ssl.SSLSocket.SSLVersionRange(min, max);
[javac] ^
[javac] symbol: class SSLVersionRange
[javac] location: class SSLSocket
[javac] /home/imntreal/idm-console-framework/src/com/netscape/management/client/comm/HttpsChannel.java:447: error: cannot find symbol
[javac] SSLSocket.setSSLVersionRangeDefault(org.mozilla.jss.ssl.SSLSocket.SSLProtocolVariant.STREAM, range);
[javac] ^
[javac] symbol: variable SSLProtocolVariant
[javac] location: class SSLSocket
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 9 errors

BUILD FAILED
/home/imntreal/idm-console-framework/build.xml:183: Compile failed; see the compiler error output for details.

Total time: 4 seconds


What platform/version are you on? What version of JSS do you have?

You must have jss-4.2.6-35 or higher

Also checkout

http://www.port389.org/docs/389ds/development/buildingconsole.html#framework

jss 4.3.1-1
apache-ant 1.9.6-1
jdk 8u77-1
jdk8-openjdk 8.u77-1
jre7-openjdk-headless 7.u95_2.6.4-1
jre8-openjdk 8.u77-1
jre8-openjdk-headless 8.u77-1
ldapjdk 4.18-3
Linux server 4.4.5-1-ARCH #1 SMP PREEMPT Thu Mar 10 07:38:19 CET 2016 x86_64 GNU/Linux
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"
NAME="Arch Linux"
ID=arch
PRETTY_NAME="Arch Linux"

If it's helpful, I tried, and failed to rebuild jss, and needed to switch my Java environment to jdk7-openjdk 7.u95_2.6.4-1 to get it to build. It did build then, but idm-console-framework still failed.

Also, it may be helpful to note that 1.1.7 does build, but 1.1.9, and newer have the SSL errors.

Replying to [comment:4 imntreal]:

Also, it may be helpful to note that 1.1.7 does build, but 1.1.9, and newer have the SSL errors.

You said you tried building the source itself, where/how did you get the source? Can you confirm your source includes the variable "SSLVersionRange"? If it does have this variable then try setting the jss path explicitly.

For me its:

ant ... -Djss.local.location=/usr/lib64/jss

Otherwise, I think the problem is that you are not using the right JSS version/vendor. We have not shipped any 4.3.x releases that I am aware of. The highest we have shipped is 4.2.38 - so I don't know where you got a 4.3.1 from.

I'm not familiar with the exact platform you are on, but you might be able to setup EPEL and download our version of JSS that has the fix/enhancement you need:

https://fedoraproject.org/wiki/EPEL

You can also get the source rpm from here(and build it yourself):

https://kojipkgs.fedoraproject.org//packages/jss/4.2.6/38.fc25/src/jss-4.2.6-38.fc25.src.rpm

jss: http://ftp.mozilla.org/pub/security/jss/releases/JSS_4_3_1_RTM/src/jss-4.3.1.tar.bz2
idm-console-framework: http://www.port389.org/sources/idm-console-framework-1.1.7.tar.bz2

I just grep'd for SSLVersionRange, and didn't turn up anything. If my sever doesn't have anything else depending on jss, I'll try building an older version, and see if idm-console-framework will work with an older version.

Replying to [comment:6 imntreal]:

jss: http://ftp.mozilla.org/pub/security/jss/releases/JSS_4_3_1_RTM/src/jss-4.3.1.tar.bz2

This is mozilla's JSS , but you need Red Hat's JSS (See below)

idm-console-framework: http://www.port389.org/sources/idm-console-framework-1.1.7.tar.bz2

I just grep'd for SSLVersionRange, and didn't turn up anything. If my sever doesn't have anything else depending on jss, I'll try building an older version, and see if idm-console-framework will work with an older version.

Here is the official scoop:

So you are using the official mozilla JSS (v4.3.x) - but you need Red Hat's JSS (4.2.x) There are plans to merge Red Hat's JSS changes into the mozilla's, but that is not going to happen anytime soon. So in your case you will need to build Red Hat's JSS from the source rpm (see previous comment for srpm).

Any update? Can this be closed?

You can close it. I'm trying to decide if it will be easier to try, and get the Red Hat jss-support-TLS1_1-TLS1_2.patch working with the current upstream version, or to package the Red Hat version for Arch. I have a feeling that jss-support-TLS1_1-TLS1_2.patch isn't needed in the newer versions of jss, and that the idm-console-framework code will likely need to change to reflect that. It won't effect Fedora until jss-4.3+ is packaged there.

Metadata Update from @mreynolds:
- Issue set to the milestone: 0.0 NEEDS_TRIAGE

2 years ago

Login to comment on this ticket.

Metadata