Назад | Перейти на главную страницу

Ошибка выдачи компилятора 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 в обоих случаях, безуспешно.

Спасибо!

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

Я предлагаю увеличить пространство подкачки на вашем ящике. Это должно позволить вам создать больше процессов.

Проверьте разрешения на чтение и выполнение для /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 для установки Red5. Я предлагаю скачать архив с https://github.com/Red5/red5-server разархивируйте его и затем запустите red5.sh. Это все, что вам нужно сделать.