web-dev-qa-db-ja.com

CentOS5.7でjavacコンパイラがエラーをスローする

このハウツーを使用して、MediaTempleでCentOS 5.7を実行しているvpsにRed5をインストールしようとしています (dv):Install Red5 Media Server しかし、手順7で次のエラーが発生します。

BUILD FAILED
/usr/local/red5/build.xml:217: The following error occurred while executing this line:
/usr/local/red5/build.xml:238: Error running /usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/bin/javac compiler

それを修正する方法はありますか?すでにグーグルと何人かのユーザーはこれと同じ問題を抱えていますが、誰も解決策を投稿していないか、彼らは決して解決しませんでした。

更新:詳細:ant -v distを実行すると、メモリの問題であることが示されます。

Caused by: Java.io.IOException: Cannot run program "/usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/bin/javac": Java.io.IOException: error=12, Cannot allocate memory
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:475)
    at Java.lang.Runtime.exec(Runtime.Java:610)
    at org.Apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.Java:862)
    at org.Apache.tools.ant.taskdefs.Execute.launch(Execute.Java:481)
    at org.Apache.tools.ant.taskdefs.Execute.execute(Execute.Java:495)
    at org.Apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.Java:522)
    ... 32 more
Caused by: Java.io.IOException: Java.io.IOException: error=12, Cannot allocate memory
    at Java.lang.UNIXProcess.<init>(UNIXProcess.Java:164)
    at Java.lang.ProcessImpl.start(ProcessImpl.Java:81)
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:468)
    ... 37 more

_Java_OPTIONS = "-Xms64m -Xmx128m"を定義し、ANT_OPTIONS = -Xmx128mをエクスポートしました。

どちらの場合もXmx512mを試してみましたが、運が悪かったです。

ありがとう!

1
Julio Menendez

Red5をインストールするためにjavacを使用する必要はありません。 https://github.com/Red5/red5-server からtarballをダウンロードしてアーカイブを解除し、red5.shを実行することをお勧めします。それはあなたがする必要があるすべてです。

0
Paul Gregoire

/usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/bin/javacの読み取りおよび実行権限を確認してください。全員の読み取りビットと実行ビットがあることを確認します(chmod a+rx /usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/bin/Java)。

ここでの問題は、javacを実行するために新しいシステムプロセスを開始する必要があることです。残念ながら、新しいプロセスを開始するためのメモリが不足しています。 -Xmx128mパラメータなどを変更すると、新しいjavacプロセスではなく、antプロセスに多かれ少なかれメモリが割り当てられます。

私の提案は、ボックスのスワップスペースを増やすことです。これにより、より多くのプロセスを作成できるようになります。

0
orien