Ошибка создания компилятора javac в CentOS 5.7

Я пытаюсь установить Red5 на vps-сервере под управлением CentOS 5.7 в MediaTemple, используя это руководство (dv): Установите 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

Есть идеи как это исправить? Уже у Google и нескольких пользователей была такая же проблема, но никто не опубликовал решение, или они никогда не решали.

ОБНОВЛЕНИЕ: Еще несколько подробностей: запуск 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 в обоих случаях, не повезло.

Спасибо!

3 ответа

Решение

Вам не нужно использовать Javac для установки Red5. Я предлагаю скачать tarball с https://github.com/Red5/red5-server отархивировать его, а затем запустить red5.sh. Это все, что вам нужно сделать.

Проверьте права на чтение и выполнение для /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).

Ваша проблема здесь в том, что ant должен запустить новый системный процесс для запуска javac. К сожалению, у вас недостаточно памяти, чтобы начать новый процесс. Изменение параметров -Xmx128m и т. П. Даст больше или меньше памяти процессу ant, а не новому процессу javac.

Мое предложение состоит в том, чтобы увеличить пространство подкачки на вашей коробке. Это должно позволить вам создавать больше процессов.

Другие вопросы по тегам