Skip to content

CI: JRuby test suite fails to compile #59

Description

@olleolleolle

This is a sign-post issue. jruby-head does not currently build right.

The setup-ruby step say this:

Modifying JAVA_HOME for JRuby
  attempting to run with existing JAVA_HOME
  /usr/lib/jvm/temurin-17-jdk-amd64/bin/java -jar /home/runner/.rubies/jruby-head/lib/jruby.jar --version
  Error: LinkageError occurred while loading main class org.jruby.Main
  	java.lang.UnsupportedClassVersionError: org/jruby/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
Details
mkdir -p tmp/java/escape
javac -target 1.8 -source 1.8 -Xlint -d tmp/java/escape -cp /home/runner/.rubies/jruby-head/lib/jruby.jar ext/java/org/jruby/ext/cgi/escape/CGIEscape.java
warning: [options] bootstrap class path not set in conjunction with -source 8
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:35: error: cannot access Ruby
import org.jruby.Ruby;
                ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/Ruby.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:36: error: cannot access RubyClass
import org.jruby.RubyClass;
                ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/RubyClass.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:37: error: cannot access RubyEncoding
import org.jruby.RubyEncoding;
                ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/RubyEncoding.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:38: error: cannot access RubyModule
import org.jruby.RubyModule;
                ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/RubyModule.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:39: error: cannot access RubyString
import org.jruby.RubyString;
                ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/RubyString.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:40: error: cannot access JRubyMethod
import org.jruby.anno.JRubyMethod;
                     ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/anno/JRubyMethod.class)
    class file has wrong version 65.0, should be 61.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:41: error: cannot access Block
import org.jruby.runtime.Block;
                        ^
  bad class file: /home/runner/.rubies/jruby-head/lib/jruby.jar(/org/jruby/runtime/Block.class)
    class file has wrong version 65.0, should be 61.0
  symbol:   variable RubyString
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:329: error: cannot find symbol
        RubyString dest = null;
        ^
  symbol:   class RubyString
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:333: error: cannot find symbol
        Encoding origenc, encidx = EncodingUtils.rbToEncoding(context, encoding);
                                   ^
  symbol:   variable EncodingUtils
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:336: error: cannot find symbol
        ByteList byteList = str.getByteList();
        ^
  symbol:   class ByteList
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:341: error: cannot find symbol
        Ruby runtime = context.runtime;
        ^
  symbol:   class Ruby
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:360: error: cannot find symbol
                dest = RubyString.newStringLight(runtime, len);
                       ^
  symbol:   variable RubyString
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:373: error: cannot find symbol
            cr = StringSupport.CR_UNKNOWN;
                 ^
  symbol:   variable StringSupport
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:381: error: cannot find symbol
            if (StringSupport.encCoderangeClean(dest.getCodeRange()) == 0) {
                ^
  symbol:   variable StringSupport
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:383: error: cannot find symbol
                if (cr != StringSupport.CR_UNKNOWN)
                          ^
  symbol:   variable StringSupport
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:399: error: cannot find symbol
        RubyString str = _str.convertToString();
        ^
  symbol:   class RubyString
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:404: error: cannot find symbol
            return Helpers.invokeSuper(context, self, _str, Block.NULL_BLOCK);
                                                            ^
  symbol:   variable Block
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:404: error: cannot find symbol
            return Helpers.invokeSuper(context, self, _str, Block.NULL_BLOCK);
                   ^
  symbol:   variable Helpers
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:417: error: cannot find symbol
        RubyString str = _str.convertToString();
        ^
  symbol:   class RubyString
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:422: error: cannot find symbol
            return Helpers.invokeSuper(context, self, _str, Block.NULL_BLOCK);
                                                            ^
  symbol:   variable Block
  location: class CGIEscape
ext/java/org/jruby/ext/cgi/escape/CGIEscape.java:422: error: cannot find symbol
            return Helpers.invokeSuper(context, self, _str, Block.NULL_BLOCK);
                   ^
  symbol:   variable Helpers
  location: class CGIEscape
100 errors
1 warning
only showing the first 100 errors, of 119 total; use -Xmaxerrs if you would like to see more
rake aborted!
Command failed with status (1): [javac -target 1.8 -source 1.8 -Xlint -d tmp/java/escape -cp /home/runner/.rubies/jruby-head/lib/jruby.jar ext/java/org/jruby/ext/cgi/escape/CGIEscape.java]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions