使用 cygwin 来安装 Nginx 的报错,编译不成功。错误代码如下图
Compiling Passenger support files...
# /home/root/.rvm/wrappers/ruby-1.9.3-head/rake nginx:clean nginx RELEASE=yes
rm -rf ext/common/libboost_oxt.a ext/common/libboost_oxt
rm -rf ext/common/libpassenger_common.a ext/common/libpassenger_common
rm -f agents/PassengerWatchdog agents/PassengerLoggingAgent
rm -rf agents/nginx/PassengerHelperAgent
mkdir -p ext/common/libboost_oxt
g++ -Iext -D_REENTRANT -I/usr/local/include -DHASH_NAMESPACE="__gnu_cxx" -DHASH_NAMESPACE="__gnu_cxx" -DHASH_FUN_H="<hash_fun.h>" -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/common/libboost_oxt/aggregate.o -c ext/common/libboost_oxt/aggregate.cpp
mkdir -p ext/common/libboost_oxt
rm -rf ext/common/libboost_oxt.a
ar cru ext/common/libboost_oxt.a ext/common/libboost_oxt/aggregate.o
ranlib ext/common/libboost_oxt.a
mkdir -p ext/common/libpassenger_common
g++ -Iext -Iext/common -Iext/libev -D_REENTRANT -I/usr/local/include -DHASH_NAMESPACE="__gnu_cxx" -DHASH_NAMESPACE="__gnu_cxx" -DHASH_FUN_H="<hash_fun.h>" -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/common/libpassenger_common/aggregate.o -c ext/common/libpassenger_common/aggregate.cpp
In file included from ext/common/libpassenger_common/aggregate.cpp:6:0:
ext/common/AgentBase.cpp: 在函数‘void Passenger::installAbortHandler()’中:
ext/common/AgentBase.cpp:318:25: 错误:‘MINSIGSTKSZ’在此作用域中尚未声明
ext/common/AgentBase.cpp:327:2: 错误:‘stack_t’在此作用域中尚未声明
ext/common/AgentBase.cpp:327:10: 错误:expected ‘;’ before ‘stack’
ext/common/AgentBase.cpp:328:2: 错误:‘stack’在此作用域中尚未声明
ext/common/AgentBase.cpp:331:30: 错误:‘sigaltstack’在此作用域中尚未声明
In file included from ext/common/MessageServer.h:47:0,
from ext/common/Utils.cpp:45,
from ext/common/libpassenger_common/aggregate.cpp:10:
ext/common/MessageChannel.h: 在成员函数‘bool Passenger::MessageChannel::readRaw(void*, unsigned int, long long unsigned int*)’中:
ext/common/MessageChannel.h:395:48: 错误:‘llroundl’在此作用域中尚未声明
ext/common/MessageChannel.h:402:48: 错误:‘llroundl’在此作用域中尚未声明
rake aborted!
Command failed with status (1): [g++ -Iext -Iext/common -Iext/libev -D_REE...]
Tasks: TOP => nginx => agents/nginx/PassengerHelperAgent => ext/common/libpassenger_common.a => ext/common/libpassenger_common/aggregate.o
(See full trace by running task with --trace)