[oe] [meta-java] icedtea7-native - IOException constructor compile error

Patrick Ohly patrick.ohly at intel.com
Fri Jul 8 11:24:11 UTC 2016


Hello!

I'm trying to build openjdk8, using the master branches of OE and
meta-java. Distro is Ostro, which configures:

PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
PREFERRED_PROVIDER_virtual/java-native = "cacao-native"
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

In this configuration, cacao-initial-native ecj-initial-native
classpath-native ecj-bootstrap-native jikes-initial-native get build
before icedtea7-native fails to compile with:

        build-bootstrap-javac:
            [javac] Compiling 1 source file to /fast/build/ostro/x86/tmp-glibc/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/icedtea-2.1.3/build/openjdk.build-boot/langtools/build/bootstrap/classes
            [javac] ----------
            [javac] 1. ERROR in /fast/build/ostro/x86/tmp-glibc/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/icedtea-2.1.3/build/openjdk-boot/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java (at line 1169)
            [javac]     super(message, cause);
            [javac]     ^^^^^^^^^^^^^^^^^^^^^^
            [javac] The constructor IOException(String, Throwable) is undefined
            [javac] ----------
            [javac] 1 problem (1 error)
        
        BUILD FAILED
        /fast/build/ostro/x86/tmp-glibc/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/icedtea-2.1.3/build/openjdk-boot/langtools/make/build.xml:446: The following error occurred while executing this line:
        /fast/build/ostro/x86/tmp-glibc/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/icedtea-2.1.3/build/openjdk-boot/langtools/make/build.xml:789: Compile failed; see the compiler error output for details.
        
        Total time: 2 seconds
        Makefile:201: recipe for target 'build' failed

Sure enough, classpath_0.99 only has IOException with a constructor that
takes a single parameter
(classpath-native/0.99-r6.0/classpath-0.99/java/io/IOException.java):

        public class IOException extends Exception
        {
          /**
           * Compatible with JDK 1.0+.
           */
          private static final long serialVersionUID = 7818375828146090155L;
        
          /**
           * Create an exception without a descriptive error message.
           */
          public IOException()
          {
          }
        
          /**
           * Create an exception with a descriptive error message.
           *
           * @param message the descriptive error message
           */
          public IOException(String message)
          {
            super(message);
          }
        } // class IOException
        
        

The code which doesn't compile is
icedtea-2.1.3/build/openjdk-boot/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java:

    static final class ZipFormatException extends IOException {
        private static final long serialVersionUID = 8000196834066748623L;
        protected ZipFormatException(String message) {
            super(message);
        }

        protected ZipFormatException(String message, Throwable cause) {
            super(message, cause);
        }
    }

So I'm not surprised that it fails; this can't work. The questions are:
what combination does work, and when did the combination above stop
working?

[please reply also directly, I'm not receiving list emails]

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.






More information about the Openembedded-devel mailing list