源码包安装LAMP环境常见错误.doc_第1页
源码包安装LAMP环境常见错误.doc_第2页
源码包安装LAMP环境常见错误.doc_第3页
源码包安装LAMP环境常见错误.doc_第4页
源码包安装LAMP环境常见错误.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Cannot use an external APR with the bundled APR-util 错误解决apache2.0.x与apache2.2.x在apr上有本质的区别,前者为依赖公用apr,后者依赖于自身的apr。一般前者也就是2.0.x的编译基本上没有apr方面的问题,除非,在编译前,安装了非2.0.x所需的apr,如果是这样,则需要将已经安装的apr去除,然后再编译。如果是后者也出现关于apr的问题,则将安装前的apr去除后,在编译apache2.2.x自身的apr,在srclib目录中。cd httpd-2.2.3安装APRcd srclib/apr#./configure -prefix=/路径/apr#make#make install安装APR-utilcd srclib/apr-util#./configure -prefix=/路径/apr-util -with-apr=/路径/apr#make#make install然后再configure apache注意的是 在参数上一定要指定路径 -with-apr=/路径/apr -with-apr-util=/路径/apr-util #make#make install编译LAMP环境常见错误不知道大家有没有遇到在 X64 RedHat5 或者 RedHat4 下.编译安装PHP环境的时候. 安装了libxml,zlib,jpeg,libpng,freetype,libart_lgpl,gettext. 到编译 GD 库的时候出错.configure 的参数是./configure -prefix=/usr/local/gd2 -with-zlib=/usr/local/zlib2/ -with-png=/usr/local/libpng2/ -with-jpeg=/usr/local/jpeg6/ -with-freetype=/usr/local/freetype2/ -with-libart=/usr/local/libart/ -with-gettext=/usr/local/gettext/ -with-libxml=/usr/local/libxml2-错误如下:/usr/bin/ld: /usr/local/jpeg6/lib/libjpeg.a(jcapimin.o): relocation R_X86_64_32 against a local symbol can not be used when making a shared object; recompile with -fPIC/usr/local/jpeg6/lib/libjpeg.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake2: * libgd.la 错误1make2: Leaving directory /data/soft/php/gd-2.0.35make1: * all-recursive 错误1make1: Leaving directory /data/soft/php/gd-2.0.35make: * all 错误2到网上搜索,很多网友都说只需要修改 Makefilevi Makefile找到 CFLAGS= -O2 -I$(srcdir)在后面加入-fPIC,即变成CFLAGS= -O2 -I$(srcdir) -fPIC这样就可以继续编译了但我在 gd-2.0.35 gd-2.0.33 以及 gd-2.0.36RC1 的 Makefile 里头,都只找到 CFLAGS= -O2 并没有后边的 -I$(srcdir)故此就算把-fPIC加上了,也毫无作用。-开始着手研究,根据错误提示,应该是跟 jpeg6 有关,于是尝试使用另外方式对 jpeg6 进行编译。原本网上最多的编译 jpeg6 的方法是 (注jpeg6下载地址/)-# tar -zxf jpegsrc.v6b.tar.gz# cd jpeg-6b/# ./configure -prefix=/usr/local/jpeg6# make# make install-lib# make install在32位上以这种方式安装是没问题的.但64的话,或许要改一改,如下:-# tar -zxf jpegsrc.v6b.tar.gz# cd jpeg-6b/# ./configure -prefix=/usr/local/jpeg6/ -enable-shared -enable-static# make# make install-但又会出个问题! 大多数环境在用这种方式编译jpeg6的时候都会出错(有够烦的,简直是一波三折),提示make: ./libtool: Command not foundmake: * jcapimin.lo Error 127-错误分析:由于libtool版本过低导致的,重新下载新版本的libtool以默认方式安装.下载地址:/gnu/libtool/也不用下载太新,1.5.xx 既可。执行以下命令:# tar zxvf libtool-1.5.26.tar.gz# cd libtool-1.5.26# ./configure# make# make install(最好重新启动一下服务器,重新加载环境以确保正常)然后进入jpeg-6b的源码目录,然后执行以下步骤,切记!# cp /usr/local/share/libtool/config.sub ./# cp /usr/local/share/libtool/config.guess ./# ./configure -prefix=/usr/local/jpeg6/ -enable-shared -enable-static# make# make install-好了!这下尝试执行GD 的 configure , 虽然依然是 libgd.la 错误,但提示的已经不是 jpeg6 的问题了。这下是 freetype2 的问题了,如下:-/usr/bin/ld: /usr/local/freetype2/lib/libfreetype.a(ftinit.o): relocation R_X86_64_32 against tt_driver_class can not be used when making a shared object; recompile with -fPIC/usr/local/freetype2/lib/libfreetype.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake2: * libgd.la 错误1make2: Leaving directory /data/soft/php/gd-2.0.35make1: * all-recursive 错误1make1: Leaving directory /data/soft/php/gd-2.0.35make: * all 错误2-着看上去是freetype2 出错但其实是zlib安装问题原本的编译方法就直接是:-# tar zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3#./configure -prefix=/usr/local/zlib2/ & make & make install在32位上以这种方式安装是没问题的.但64的话,要改一改,如下-解决方法:重新编译安装zlib,步骤如下:(在重新编译之前记得要把之前安装在/usr/local/zlib2里头的文件都完全删除)# tar -zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3#./configure#vi Makefile找到 CFLAGS=-O3 -DUSE_MMAP在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC# make# make install-然后再重新编译 freetype (在重新编译之前记得要把之前安装在/usr/local/freetype里头的文件都完全删除)#./configure -prefix=/usr/local/freetype2/ & make & make installZlib 跟 freetype 的安装一定要按照顺序,不然解决不了问题.-行了!这下子 freetype 也没问题了!但GD的编译还是不过,错误如下:/usr/bin/ld: /usr/local/libpng2/lib/libpng12.a(libpng12_la-png.o): relocation R_X86_64_32 against a local symbol can not be used when making a shared object; recompile with -fPIC/usr/local/libpng2/lib/libpng12.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake2: * libgd.la 错误1make2: Leaving directory /data/soft/php/gd-2.0.35make1: * all-recursive 错误1make1: Leaving directory /data/soft/php/gd-2.0.35make: * all 错误2-libpng的问题,我们改一改编译以及安装的方式。跟上边2个一样,要先把/usr/local/libpng2 都删干净,然后再重新编译安装。编译安装 libpng#tar zxvf libpng-1.2.34.tar.gz#cd libpng-1.2.34#cp scripts/makefile.gcmmx makefile#./configure -prefix=/usr/local/libpng2/# vi Makefile找到 CFLAGS = -g -O2 后边加上 -fPIC# make & make install-好了,真像玩游戏过三关的样子.把最后这 libpng 也解决了,这GD也总算是编译好了。接下来终于能编译 php-5.2.6# tar zxvf php-5.2.6.tar.gz# cd php-5.2.6# ./configure -prefix=/usr/local/php -with-apxs2=/usr/local/apache2/bin/apxs -with-jpeg-dir=/usr/local/jpeg6/ -with-png-dir=/usr/local/libpng2/ -with-gd=/usr/local/gd2/ -with-freetype-dir=/usr/local/freetype2/ -with-zlib-dir=/usr/local/zlib2/ -with-mysql=/usr/local/mysql -with-curl=/usr/local/curl -with-gettext=/usr/local/gettext好了! 又卡住了!如果 mysql 是使用rpm方式安装,除了安装server跟client记得装上其开发包 MySQL-devel-community如果你的mysql是装在另外一台机器,这么你编辑安装php也只需装上 MySQL-client-community 跟 MySQL-devel-community不然php ./configure 的时候会出现找不到 mysql 的错误#如果你已经安装了上述说的rpm包,或者是以编译方式安装mysql的,还是出错,并提示 Cannot find libmysqlclient_r 。如下:checking for MySQL support yes checking for specified location of the MySQL UNIX socket no checking for MySQL UNIX socket location no configure: error: Cannot find libmysqlclient_r under /usr/local/mysql. Note that the MySQL client library is not bundled anymore!-或者是:checking for MySQL support yes checking for specified location of the MySQL UNIX socket no checking for MySQL UNIX socket location no configure: error: Cannot find libmysqlclient_r under /usr. Note that the MySQL client library is not bundle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论