0

有没有人能够在 s390x Linux 系统上编译 JRuby?我正在尝试使用 LogStash,这显然需要 JRuby,但是 SLES 11 没有包含 JRuby 存储库。

jar ant 产生以下内容。

compile-annotation-binder:[javac] 将 18 个源文件编译到 /home/user7/jruby-1.7.4/build/classes/jruby [javac] 警告:[options] 未与 -source 1.6 一起设置引导类路径 [ javac] 注意:/home/user7/jruby-1.7.4/src/org/jruby/util/CodegenUtils.java 使用未经检查或不安全的操作。[javac] 注意:使用 -Xlint:unchecked 重新编译以获取详细信息。[javac] 1 个警告

compile-jruby: [javac] 将 1395 个源文件编译到 /home/user7/jruby-1.7.4/build/classes/jruby [javac] 线程“main”中的异常 java.lang.NoSuchMethodError: sun/misc/Unsafe.allocateDBBMemory (J)J [javac] at java.nio.DirectByteBuffer.(DirectByteBuffer.java:127) [javac] at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306) [javac] at sun.misc.Perf.createLong (本机方法)[javac] 在 sun.misc.PerfCounter.(PerfCounter.java:77) [javac] 在 sun.misc.PerfCounter.newPerfCounter(PerfCounter.java:83) [javac] 在 sun.misc.PerfCounter$CoreCounters .(PerfCounter.java:140) [javac] at java.lang.J9VMInternals.initializeImpl(Native Method) [javac] at java.lang.J9VMInternals.initialize(J9VMInternals.java:236) [javac] at sun.misc.PerfCounter .getZipFileOpenTime(PerfCounter.java:194) [javac] at java.util.zip.ZipFile.(ZipFile.java:230) [javac] at java.util.zip.ZipFile.(ZipFile.java:159) [javac] at java.util.jar.JarFile.(JarFile.java:167) [javac] 在 java.util.jar.JarFile.(JarFile.java:104) [javac] 在 sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath. java:958) [javac] 在 sun.misc.URLClassPath$JarLoader.access$700(URLClassPath.java:826) [javac] 在 sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:909) [javac] 在sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:899) [javac] at java.security.AccessController.doPrivileged(AccessController.java:280) [javac] at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath .java:898) [javac] 在 sun.misc.URLClassPath$JarLoader.(URLClassPath.java:871) [javac] 在 sun.misc.URLClassPath$3.rtJarLoader(URLClassPath.java:596) [javac] 在 sun.misc.URLClassPath$3.run(URLClassPath.java:546) [javac] 在 sun.misc.URLClassPath$3 .run(URLClassPath.java:536) [javac] 在 java.security.AccessController.doPrivileged(AccessController.java:280) [javac] 在 sun.misc.URLClassPath.getLoader(URLClassPath.java:535) [javac] 在 sun .misc.URLClassPath.getLoader(URLClassPath.java:498) [javac] 在 sun.misc.URLClassPath.getResource(URLClassPath.java:324) [javac] 在 java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1157 ) [javac] 在 java.security.AccessController.doPrivileged(AccessController.java:314) [javac] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:594) [javac] 在 java.lang.ClassLoader.loadClassHelper(ClassLoader .java:743) [javac] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:711) [javac] 在 java.lang.ClassLoader.loadClassHelper(ClassLoader.java:735) [javac] 在 java.lang.ClassLoader。 loadClass(ClassLoader.java:711) [javac] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325) [javac] at java.lang.ClassLoader.loadClass(ClassLoader.java:690) [javac] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:494)690) [javac] 在 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:494)690) [javac] 在 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:494)

BUILD FAILED /home/user7/jruby-1.7.4/build.xml:636:执行此行时出现以下错误:/home/user7/jruby-1.7.4/build.xml:289:编译失败;有关详细信息,请参阅编译器错误输出。

总时间:1分37秒

Line 636 of build.xml
    <target name="jar" depends="init" description="Create the jruby.jar file. Used during dev.">
->        <antcall target="jar-jruby" inheritall="true"/>
    </target>

Line 289 of build.xml
  <javac destdir="${jruby.classes.dir}" fork="true"
               debug="true" source="${javac.version}" target="${javac.version}"
->               deprecation="true" encoding="UTF-8" includeantruntime="true" memorymaximumsize="${jruby.compile.memory}">
            <classpath refid="jruby.execute.classpath"/>
            <src path="${src.dir}"/>
            <exclude name="org/jruby/runtime/Constants.java"/>

java -version java version "1.7.0" Java(TM) SE Runtime Environment (build pxz6470sr4fp1-20130325_01(SR4 FP1)) IBM J9 VM (build 2.6, JRE 1.7.0 Linux s390x-64 Compressed References 20130306_140761 (JIT enabled, AOT) enabled) J9VM - R26_Java726_SR4_FP1_20130306_1011_B140761 JIT - r11.b03_20130131_32403ifx1 GC - R26_Java726_SR4_FP1_20130306_1011_B140761_CMPRSS J9CL - 20130306_140761) JCL - 20130315_01 based on Oracle 7u13-b08

ant -version Apache Ant 版本 1.7.1

4

1 回答 1

0

操作系统调用 init() 方法并映射到 main 方法,因此请尝试正确检查您是否在程序中提供了映射如果您提供内部方法,如果没有 main 方法程序也执行,我看不到 java 中的预期映射静态块,或者你应该检查你的映射。

于 2013-07-25T03:54:15.963 回答