Chinaunix

标题: apache编译安装问题 [打印本页]

作者: kofpet    时间: 2012-08-01 19:16
标题: apache编译安装问题
系统采用centos 5.7(final) 64位   apache 2.2.9版本
在编译时出现以下报错:
make[4]: *** [mod_deflate.la] Error 1
make[4]: Leaving directory `/usr/local/src/httpd-2.2.9/modules/filters'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/usr/local/src/httpd-2.2.9/modules/filters'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.9/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.9'
make: *** [all-recursive] Error 1

配置是:./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/http/ --with-z=/usr/local/zlib/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support

求高手指点一下,google很久了,网上都没有给一个明确的解决办法。
作者: kofpet    时间: 2012-08-01 19:18
补充一下,zlib编译安装完成了
作者: chenyx    时间: 2012-08-01 20:11
为什么不用系统自带的apache呢?
另外,楼主贴的错误信息不全,将上面几行的错误信息也贴上来
作者: kofpet    时间: 2012-08-01 21:02
就是要把自带的去掉,编译LAMP。
作者: chenyx    时间: 2012-08-01 21:12
那你也应该把信息贴全了,仅仅上面1楼的信息,什么也看不出来,除了知道出错了
作者: dooros    时间: 2012-08-01 21:53
http://hi.baidu.com/busybox/blog ... 1f1548925807c6.html
作者: xiyoulaoyuanjia    时间: 2012-08-01 22:31
确实感觉出错信息不是很全~
作者: kofpet    时间: 2012-08-01 23:00
本帖最后由 kofpet 于 2012-08-01 23:01 编辑

make[2]: Entering directory `/usr/local/src/httpd-2.2.9/os'
make[3]: Entering directory `/usr/local/src/httpd-2.2.9/os/unix'
make[3]: Leaving directory `/usr/local/src/httpd-2.2.9/os/unix'
make[2]: Leaving directory `/usr/local/src/httpd-2.2.9/os'
make[2]: Entering directory `/usr/local/src/httpd-2.2.9/server'
make[3]: Entering directory `/usr/local/src/httpd-2.2.9/server/mpm'
make[4]: Entering directory `/usr/local/src/httpd-2.2.9/server/mpm/prefork'
make[4]: Leaving directory `/usr/local/src/httpd-2.2.9/server/mpm/prefork'
make[3]: Leaving directory `/usr/local/src/httpd-2.2.9/server/mpm'
make[2]: Leaving directory `/usr/local/src/httpd-2.2.9/server'
make[2]: Entering directory `/usr/local/src/httpd-2.2.9/modules'
make[3]: Entering directory `/usr/local/src/httpd-2.2.9/modules/aaa'
make[3]: Leaving directory `/usr/local/src/httpd-2.2.9/modules/aaa'
make[3]: Entering directory `/usr/local/src/httpd-2.2.9/modules/filters'
Building shared: mod_deflate.la
make[4]: Entering directory `/usr/local/src/httpd-2.2.9/modules/filters'
/usr/local/src/httpd-2.2.9/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread    -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE    -I/usr/local/src/httpd-2.2.9/srclib/pcre -I. -I/usr/local/src/httpd-2.2.9/os/unix -I/usr/local/src/httpd-2.2.9/server/mpm/prefork -I/usr/local/src/httpd-2.2.9/modules/http -I/usr/local/src/httpd-2.2.9/modules/filters -I/usr/local/src/httpd-2.2.9/modules/proxy -I/usr/local/src/httpd-2.2.9/include -I/usr/local/src/httpd-2.2.9/modules/generators -I/usr/local/src/httpd-2.2.9/modules/mappers -I/usr/local/src/httpd-2.2.9/modules/database -I/usr/local/src/httpd-2.2.9/srclib/apr/include -I/usr/local/src/httpd-2.2.9/srclib/apr-util/include -I/usr/local/zlib//include -I/usr/local/src/httpd-2.2.9/modules/proxy/../generators -I/usr/local/src/httpd-2.2.9/modules/ssl -I/usr/local/src/httpd-2.2.9/modules/dav/main -prefer-pic -c mod_deflate.c && touch mod_deflate.slo
/usr/local/src/httpd-2.2.9/srclib/apr/libtool --silent --mode=link gcc -g -O2 -pthread    -L/usr/local/zlib//lib      -o mod_deflate.la -rpath /usr/local/apache2/modules -module -avoid-version  mod_deflate.lo -lz
/usr/bin/ld: /usr/local/zlib//lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/zlib//lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: *** [mod_deflate.la] Error 1
make[4]: Leaving directory `/usr/local/src/httpd-2.2.9/modules/filters'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/usr/local/src/httpd-2.2.9/modules/filters'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.9/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.9'
make: *** [all-recursive] Error 1

看看这样够不够,这样的问题纠结。
作者: chenyx    时间: 2012-08-02 08:36
/usr/local/apache2/modules -module -avoid-version  mod_deflate.lo -lz
/usr/bin/ld: /usr/local/zlib//lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/zlib//lib/libz.a: could not read symbols: Bad value

这个是关键.可能是你z编译的问题,楼主搜索下吧,用relocation R_X86_64_32 against做关键字
作者: zongg    时间: 2012-08-02 09:04
--with-z=/usr/local/zlib/

先去掉试一下.
作者: Windy5657    时间: 2012-08-02 15:50
还是UBUNTU好,直接一步安装到位LAMP 不要任何设置。。
作者: vTNTVV    时间: 2012-08-04 16:05
请问一下,你解决了吗?怎么解决的 谢谢
作者: vTNTVV    时间: 2012-08-04 16:07
请问一下,你解决了吗?怎么解决的 谢谢
作者: dorisok520    时间: 2012-08-04 17:03
潜水久了,出来透透气哈
作者: shura_z    时间: 2012-08-07 13:15
问题应该在这
/usr/bin/ld: /usr/local/zlib//lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC


楼主你的zlib需要重新编译 编译之前要改一下Makefile文件 找到文件中的CFLAGS ,在这个参数后面加上 -fPIC 。重新编译安装就行了
作者: kofpet    时间: 2012-08-19 14:39
本帖最后由 kofpet 于 2012-08-19 14:41 编辑

不好意思,有事情耽误了回复,感谢各位的支持,问题已解了,64位系统编译zlib时要使用 64位元码进行编译才行。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2