Modify

Opened 8 months ago

Closed 8 months ago

Last modified 8 months ago

#16451 closed defect (othersoftware)

JOSM tested 13996 fails to build with OpenJDK 10 on Debian unstable

Reported by: sebastic Owned by: team
Priority: major Milestone:
Component: Core remotecontrol Version: tested
Keywords: https ssl tls certificate security ant debian java10 Cc: stoecker

Description

The tested snapshot at r13996 fails to build with OpenJDK 10 on Debian unstable due to missing symbols:

[...]
compile:
    [javac] Release attribute not specified, defaulting to the value of the target attribute (1.8)
    [javac] Compiling 1620 source files to /build/josm-0.0.svn13996+dfsg/build
    [javac] Ignoring source, target and bootclasspath as release has been set
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:46: error: package sun.security.util does not exist
    [javac] import sun.security.util.ObjectIdentifier;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:47: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.AlgorithmId;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:48: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.BasicConstraintsExtension;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:49: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateAlgorithmId;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:50: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateExtensions;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:51: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateSerialNumber;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:52: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateValidity;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:53: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateVersion;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:54: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.CertificateX509Key;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:55: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.DNSName;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:56: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.ExtendedKeyUsageExtension;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:57: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.GeneralName;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:58: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.GeneralNameInterface;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:59: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.GeneralNames;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:60: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.IPAddressName;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:61: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.OIDName;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:62: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.SubjectAlternativeNameExtension;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:63: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.URIName;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:64: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.X500Name;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:65: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.X509CertImpl;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:66: error: package sun.security.x509 does not exist
    [javac] import sun.security.x509.X509CertInfo;
    [javac]                         ^
    [javac] /build/josm-0.0.svn13996+dfsg/src/org/openstreetmap/josm/io/remotecontrol/RemoteControlHttpsServer.java:120: error: cannot find symbol
    [javac]     private static GeneralNameInterface createGeneralNameInterface(String t, String v) throws IOException {
    [javac]                    ^
    [javac]   symbol:   class GeneralNameInterface
    [javac]   location: class RemoteControlHttpsServer
[...]

Full build log is attached.

Attachments (1)

josm_0.0.svn13996+dfsg-1_amd64.build (131.6 KB) - added by sebastic 8 months ago.

Download all attachments as: .zip

Change History (6)

Changed 8 months ago by sebastic

comment:1 Changed 8 months ago by sebastic

This seems to be an issue with the ant package in Debian:

Setting the --release option automatically is now implemented in Maven
(since plexus-compiler/2.8.4-1) and Ant (since ant/1.10.3-2), and it
triggers a new issue unfortunately. When the --release option is set the
internal JDK APIs (com.sun.*, sun.misc.*) are no longer available, and
this breaks several packages (axis for example, see #902861). The same
code compiles fine with '-source <n> -target <n>' though.

I'm not sure we can fix all the errors reported and we may have to
revert the use of the --release option in Ant/Maven. That would mean the
packages built with OpenJDK 10/11 are unlikely to run with OpenJDK 8
(the binary incompatibility in the ByteBuffer class affects quite a lot
of code).

-- Emmanuel Bourg in Debian Bug #895619

comment:2 Changed 8 months ago by Don-vip

Cc: stoecker added
Keywords: https ssl tls certificate security ant debian java10 added

One more argument for 10033#comment:56. That would be the simpler solution. I'll try to see if we can find a workaround without removing it though.

Last edited 8 months ago by Don-vip (previous) (diff)

comment:3 Changed 8 months ago by Don-vip

Milestone: 18.07
Resolution: othersoftware
Status: newclosed

I'm sorry but we have no problem to compile JOSM with Java 10.0.1 and Ant 1.10.4. I see also nothing in Apache Ant Bugzilla related to an automatic --release option, so it seems to be a change on Debian side that must be reverted.

comment:4 Changed 8 months ago by Don-vip

@sebastic if that's not possible immediately you can still apply this patch to remove HTTPS remote control support so that you can update JOSM Debian package.

comment:5 Changed 8 months ago by anonymous

Thanks for the patch, I'll apply that until ant is fixed in Debian. I'm not happy with that Debian specific change in a generic build tool.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.