最近跟一个公司合作,要把我们的应用安装在他们的服务器上,不过问题来了。他们为了他们自己服务器安全,不给我们root权限,只给了我们普通用户权限,所有的程序都要装在规定的路径里,限制可不少。没办法装吧~~~
我登录到服务器上一看 傻了,rpm -qa 一查 需要的包没装几个。一个个下源码包就装吧~~ 到源码站下载了一大堆包开始装,pcre
openssl xml mhash mcrypt等等一步步开始装,磕磕绊绊少什么装什么终于装到了nginx 结果make的时候报错了
make -f objs/Makefile
make[1]: Entering directory `/data/source/nginx'
cd /usr/local/ufo/lib/pcre \
&& if [ -f Makefile ]; then make distclean; fi \
&& CC="gcc" CFLAGS="-O2 -fomit-frame-pointer -pipe " \
./configure --disable-shared
/bin/sh: ./configure: No such file or directory
make[1]: *** [/usr/local/services/lib/pcre/Makefile] Error 127
make[1]: Leaving directory `/data/source/nginx-0.7.61'
make: *** [build] Error 2
我明明指定了 pcre的路径啊 我又仔细看了看路径是不是有问题!没问题啊,奇怪了我指定了路径怎么会 出现这样的过程呢 cd /usr/local/ufo/lib/pcre 他去安装目录 运行什么 ./configure 啊!
这时我的一个同事仔细看了看 ./configure --help 然后让我看看下面这条
原来是这样啊~~嗨
--with-pcre force PCRE library usage
--with-pcre=DIR set path to PCRE library sources
原来这个路径指定的是 源码包所在的路径啊~~~晕,nginx为什么要去自己重现编译pcre 呢?
指定源码包的路径吧 ./configure ...... --with-pcre=/data/source/pcre
再次make OK 一切顺利,终于装上了。
我在网上搜索的时候发现很多朋友遇到了这个问题,但是没有什么好的办法 (当然,因为没有root权限是没法安装rpm包的,其实只要装上pcre-devel包就好了)
呵呵,希望遇到这种情况的朋友能看到我的这篇帖子O(∩_∩)O~