-1

我已经使用以下命令成功安装了寻呼机 gem

rvmsuo gem install passenger

之后,当我尝试使用以下命令为 apache2 安装乘客模块时

rvmsudo passenger-install-apache2-module

安装开始,检查并通过所有依赖项,在编译时,出现以下错误,

g++ ApplicationPoolServerExecutable.cpp System.o Utils.o Logging.o -o 
    ApplicationPoolServerExecutable -I.. -D_REENTRANT -g -DPASSENGER_DEBUG -Wall -
    I/usr/local/include   -DPASSENGER_DEBUG ../boost/src/libboost_thread.a -lpthread
    g++: Internal error: Killed (program cc1plus)
    Please submit a full bug report.
    See <URL:http://gcc.gnu.org/bugs.html> for instructions.
    For Debian GNU/Linux specific bug reporting instructions, see <an url goes here>

    rake aborted!
    Command failed with status (1): [g++ ApplicationPoolServerExecutable.cpp Sy...]
    /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/passenger-
    2.0.6/Rakefile:161

我已经检查了 apache 错误日志,但是我没有任何线索。

4

2 回答 2

2

如果你没有足够的内存,你可以在你的 Linux 机器上做一些临时调整。

# Add 2GB of swap space
dd if=/dev/zero of=/swap bs=1k count=2048k
mkswap /swap
swapon /swap

# Set overcommit to 100
sysctl vm.overcommit_ratio=100

# Set swappiness (encourages more swapping)
sysctl vm.swappiness=50

在此之后,重试。如果一切顺利,简单的重新启动应该会撤消这些更改,或者,当然,您可以将 sysctl 设置回其原始值并删除交换。请记住,重新启动不会释放磁盘空间,您需要rm /swap在重新启动后重新启动。

于 2013-11-22T03:53:49.917 回答
1

我试图在包含 256 mb 内存的虚拟机中运行它。当我为该虚拟机分配更多内存(1 GB)时,问题就解决了。

于 2012-11-12T04:53:57.217 回答