0

Intel® Core™ i5-3210M CPU @ 2.50GHz × 4 のプロセッサである MacBookPro OS と一緒に Ubuntu 12.04(precise)64-bit をインストールしました。次に、このガイドに従って eucalyptus 3.2.0 をインストールするために数日間試みています。

ビルド段階に達したとき、この問題のために失敗しました:

 BUILD FAILED
/home/asma/eucalyptus-3.2.0/clc/build.xml:111: The following error occurred while executing this line:
java.lang.UnsupportedClassVersionError: org/codehaus/groovy/ant/Groovy : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1124)
    at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1295)
    at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1351)
    at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1311)
    at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1064)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at org.apache.tools.ant.AntTypeDefinition.innerGetTypeClass(AntTypeDefinition.java:194)
    at org.apache.tools.ant.AntTypeDefinition.getTypeClass(AntTypeDefinition.java:168)
    at org.apache.tools.ant.AntTypeDefinition.icreate(AntTypeDefinition.java:215)
    at org.apache.tools.ant.AntTypeDefinition.create(AntTypeDefinition.java:206)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:286)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:264)
    at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:417)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 0 seconds
make[1]: *** [build] Error 1
make[1]: Leaving directory `/home/asma/eucalyptus-3.2.0/clc'
make: *** [build] Error 2

もちろん、私は検索してグーグルで検索しましたが、Javaバージョンのコンパイルと実行が競合しているときにこの問題が発生するため、すべてのソリューションはJavaとjavacのバージョンが同じであることを確認しています。私はJavaとjavacの同じバージョンを持っています:

asma@asma-MacBookPro:~$ java -version
java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
asma@asma-MacBookPro:~$ javac -version 
javac 1.6.0_31

これがantバージョンです:

asma@asma-MacBookPro:~$ ant -version 
Apache Ant(TM) version 1.8.2 compiled on December 3 2011

現在、Ubuntuにはopenjdk-6-jdkのみがインストールされており、java7を削除しました。また、openjdk-7-jdk のみを使用しようとしましたが、ビルドはまだ成功しませんでした。

このエラーの理由は何ですか? 何か考えや提案はありますか?build.xml を変更する必要がありますか?

4

1 に答える 1

0

Eucalyptus のビルド プロセス中に、ソースからのビルドに必要な jar を含む github.com/euaclyptus/eucalyptus-cloud-libs のサブモジュール チェックアウトが実行されます。古いバージョンの Eucalyptus をビルドする場合、常にクラウド ライブラリの正しいタグ/ブランチをチェックアウトするとは限りません。eucalyptus/clc/lib に移動して aを実行すると、git statusどのブランチがチェックアウトされているかを確認できるはずです。#testing の場合、依存関係が 3.2.0 からかなり変更されているため、ビルドは機能しません。正しく動作する可能性のある 3.2.2 のタグがあると思います。ビルド プロセスがそのフォルダーをチェックアウトする方法が原因で、実行するほど簡単ではない場合がありgit checkout.ます。その代わりに、そのフォルダーを削除し、大きなサイズのダウンロードである eucalyptus-cloud-libs リポジトリを手動でチェックアウトする必要がある場合があります。

ところで、Eucalyptus の作業中は Java7 を使用しているため、6 ではなく Java7 をインストールすることをお勧めします。

ソースからビルドする場合は、古いリリースではなく #testing からビルドすることをお勧めします。Ubuntu はサポートされていませんが、以前に Eucalyptus をビルドして Ubuntu で実行したことがあります。そのガイドはどれも優れていますが、ハッカーを実行する準備をしてください. ビルドを成功させるために、Makefile のいくつかの単体テストをコメントアウトしたことを漠然と覚えています。

于 2014-08-04T14:27:54.747 に答える