我正在尝试在MediaTemple上运行CentOS 5.7的vps上安装Red5,使用这个方法(dv):安装Red5媒体服务器,但在步骤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
任何想法如何解决它? 已经有谷歌和几个用户有这个相同的问题,但没有发布的解决scheme,或他们从来没有解决。
更新:一些更多的细节:运行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来安装Red5。 我build议从https://github.com/Red5/red5-server下载一个tarball,然后运行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进程留下更多或更less的内存,而不是新的javac进程。
我的build议是增加你的盒子的交换空间。 这应该允许你创build更多的进程。