configure: error: libjpeg.(a|so) not found

时间:2022-12-18 13:16:39
您好!有个问题帮忙看看
配置情况:
x84+centos5+gd-2.0.35.tar.bz+php5

php相关支持rpm的已经安装
  //png
  #rpm -ivh libpng-1.2.10-7.0.2.x86_64.rpm
  //freetype
  #rpm -ivh freetype-2.2.1-19.el5.x86_64.rpm
  #rpm -ivh freetype-devel-2.2.1-19.el5.x86_64.rpm
  //jpeg
  #rpm -ivh libjpeg-6b-37.x86_64.rpm
  //gif
  #rpm -ivh giflib-4.1.3-7.1.el5.1.x86_64.rpm
安装php命令
   #./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr --with-freetype-dir=/usr --with-gd=/usr/local/gd --with-png-dir=/usr --with-jpeg-dir=/usr --with-libdir=lib64
安装日志
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path... /usr/bin/xml2-config
checking whether libxml build works... yes
checking for OpenSSL support... no
checking for Kerberos support... no
checking for PCRE support... yes
checking for ZLIB support... no
checking if the location of ZLIB install directory is defined... no
checking whether to enable bc style precision math functions... no
checking for BZip2 support... no
checking whether to enable calendar conversion support... no
checking whether to enable ctype functions... yes
checking for cURL support... no
checking if we should use cURL for url streams... no
checking size of long... (cached) 8
checking size of int... (cached) 4
checking for int32_t... yes
checking for uint32_t... yes
checking for sys/types.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for string.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for strtoll... yes
checking for atoll... yes
checking for strftime... (cached) yes
checking for QDBM support... no
checking for GDBM support... no
checking for NDBM support... no
checking for Berkeley DB4 support... no
checking for Berkeley DB3 support... no
checking for Berkeley DB2 support... no
checking for DB1 support... no
checking for DBM support... no
checking for CDB support... no
checking for INI File support... no
checking for FlatFile support... no
checking whether to enable DBA interface... no
checking whether to enable dbase support... no
checking whether to enable DOM support... yes
checking for xml2-config path... (cached) /usr/bin/xml2-config
checking whether libxml build works... (cached) yes
checking whether to enable EXIF (metadata from images) support... no
checking for FrontBase SQL92 (fbsql) support... no
checking for FDF support... no
checking whether to enable input filter support... yes
checking pcre install prefix... no
checking whether to enable FTP support... no
checking OpenSSL dir for FTP... no
checking for GD support... yes
checking for the location of libjpeg... /opt
checking for the location of libpng... /opt
checking for the location of libXpm... no
checking for FreeType 1.x support... no
checking for FreeType 2... /usr
checking for T1lib support... no
checking whether to enable truetype string function in GD... no
checking whether to enable JIS-mapped Japanese font support in GD... no
configure: error: libjpeg.(a|so) not found.
第2次尝试
安装
安装 jpegsrc.v6b.tar.gz 和 libpng-1.2.8-config.tar.gz
还是会出现相同的情况   请指教

14 个解决方案

#1


lz 还是先看看 log 里的内容

然后确认 libjpeg.a/.so 是否存在

#2


jpegsrc.v6b.tar.gz   libpng-1.2.8-config.tar.gz 编译之后有没有make install?


  #./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr --with-freetype-dir=/usr --with-gd=/usr/local/gd  --with-png-dir=/usr --with-jpeg-dir=/usr --with-libdir=lib64 

checking for the location of libjpeg... /opt 
checking for the location of libpng... /opt 


configure: error: libjpeg.(a|so) not found. 

看红色的部分,似乎你install了,不过安装到/opt下了,而在configure命令指定的目录是/usr,跟这个不一致。
check一下。

#3


jpegsrc.v6b.tar.gz  libpng-1.2.8-config.tar.gz 编译之后 有make install

不好意思好像贴错命令了
# ln -s /usr/include /opt/include
# ln -s /usr/lib64 /opt/lib

  #./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr --with-freetype-dir=/usr --with-gd=/usr/local/gd --with-png-dir=/usr --with-jpeg-dir=/usr --with-libdir=lib64 --with-mysql=/opt --with-jpeg-dir=/opt
--with-png-dir=/opt
这次尝试也是同样的情况
我想全部卸掉重新装过
[root@localhost ~]# rpm -qa|grep libpng
libpng-1.2.10-7.1.el5_0.1
libpng-1.2.10-7.1.el5_0.1
[root@localhost ~]# rpm -qa|grep libjpeg
libjpeg-6b-37
libjpeg-6b-37
[root@localhost ~]# rpm -e libjpeg-6b-37
error: "libjpeg-6b-37" specifies multiple packages
[root@localhost ~]#
请问这个该怎么卸啊


#4


试一试
rpm -e --allmatches libjpeg-6b-37

#5


export PKG_CONFIG_PATH="your libjpeg path"

#6


看看你装的rpm都有哪些文件:
rpm -qpl libjpeg-6b-37.x86_64.rpm  (此处是文件名)

很怀疑是4搂说的问题,有多个rpm包安装了,有可能是32位的和64位的同时安装了

rpm -e --allmatches xxxx
可以删除所有版本的包,删除之后再安装一下试试

#7


建议尝试下修改下环境变量 export PKG_CONFIG_PATH="your libjpeg path"~

#8


卸不了
error: Failed dependencies:
        libpng12.so.0()(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libpng12.so.0()(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libpng12.so.0()(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libpng12.so.0 is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libpng12.so.0 is needed by (installed) cairo-1.2.4-5.el5.i386
        libpng12.so.0 is needed by (installed) gtk2-2.10.4-20.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) cairo-1.2.4-5.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) gtk2-2.10.4-20.el5.i386

error: Failed dependencies:
        libjpeg.so.62()(64bit) is needed by (installed) libtiff-3.8.2-7.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) libgnomeui-2.16.0-5.el5.x86_64
        libjpeg is needed by (installed) libgnomeui-2.16.0-5.el5.x86_64
        libjpeg.so.62 is needed by (installed) libtiff-3.8.2-7.el5.i386
        libjpeg.so.62 is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libjpeg.so.62 is needed by (installed) gtk2-2.10.4-20.el5.i386

error: Failed dependencies:
        libfreetype.so.6()(64bit) is needed by (installed) libXfont-1.2.2-1.0.3.el5_1.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) ttmkfdir-3.0.9-23.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) xorg-x11-font-utils-7.1-2.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) fontconfig-2.4.1-7.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) libXft-2.1.10-1.1.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) pango-1.14.9-3.el5.centos.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) libgcj-4.1.2-42.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) paps-0.6.6-17.el5.x86_64
        freetype >= 2.1.4 is needed by (installed) fontconfig-2.4.1-7.el5.x86_64
        freetype >= 2.1.4 is needed by (installed) fontconfig-2.4.1-7.el5.i386
        freetype >= 2.1.3-3 is needed by (installed) pango-1.14.9-3.el5.centos.i386
        freetype >= 2.1.3-3 is needed by (installed) pango-1.14.9-3.el5.centos.x86_64
        libfreetype.so.6 is needed by (installed) fontconfig-2.4.1-7.el5.i386
        libfreetype.so.6 is needed by (installed) cairo-1.2.4-5.el5.i386
        libfreetype.so.6 is needed by (installed) libXft-2.1.10-1.1.i386
        libfreetype.so.6 is needed by (installed) pango-1.14.9-3.el5.centos.i386

#9


看来是32位和64位的都装了。你可以强制删除两个包,再重装64位的包。
rpm --allmatches --nodeps

#10


谢谢  
不直接--nodeps影响有多大

删除一个rpm 包;
首先您要学会查询rpm 包 ;请看前面的说明; [root@localhost beinan]#rpm -e 软件包名 举例:我想移除lynx 包,完整的操作应该是:
[root@localhost RPMS]# rpm -e lynx
如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。 但尽可能不要这么做,最好用软件包管理器 systerm-config-packages 来删除或者添加软件;
[root@localhost beinan]# rpm -e lynx --nodeps 

#11


rpm包非常不建议强制卸载,我个人认为这样会导致包依赖关系乱套的。

解决这个问题,首先确定你安装的 jpeg的x86_64的的安装位置
shell> updatedb
shell> locate libjpeg.so
看到已经安装位置


然后明白php参数的含义
根据php的配置参数
--with-jpeg-dir=/usr --with-libdir=lib64 
--with-jpeg-dir=/usr :是确定jpeg的安装位置
--with-libdir=lib64 : 这个是一个全局参数,代表配置器寻找所有安装路径下的lib64目录,而不是默认安装路径下的lib目录

看你刚才查看到的libjpeg.so是否在 你指定的路径中,按上面的配置就是  /usr/lib64/libjpeg.so

应该来说这个配置清除了,就没有问题。
再一个就是,对于配置gd的时候,这些参数同样有效。
搞清楚x86和x86_64之间的关系,也就是/lib /lib64之间是如何配合工作的,这个很重要。

把参数搞清除含义,万变不离其中把!

#12


再一个,就是使用jpegsrc.v6b.tar.gz 和 libpng-1.2.8-config.tar.gz 
要做链接,这个比起使用rpm包起来,麻烦一些,所以当时写安装文档的时候,我都避免了这些麻烦的方法。

因为开源包你不指定位置,有些就把*.so 64位的包扔在了 /lib下,而你又在--with-libdir=lib64中做了强制指定lib64,自然全都找不到了,注意--with-libdir是一个global的参数,只要指定了这个值,全部包依赖就在lib64下去找了。

这样做是有原因的
1。使用rpm的mysql安装包,安装得到的mysqllib.so默认安装在lib64下,
2。只要使用x86_64的centos中的rpm,*.so都是在lib64下
3。反正就是为了方便,所有的指向都指向lib64

4. gd是一个特例,gd中的是要手动去明确你需要的
既然手动的,就需要直接做ln lib64 -> lib

#13


libpng是关键库,不可以乱卸载。

#14


非常同意*er同志的意见,照他的方法搞定了,还是32位与64位的问题,默认安装是都装了,只要指定libdir的路径,就可以了。提出感谢。

#1


lz 还是先看看 log 里的内容

然后确认 libjpeg.a/.so 是否存在

#2


jpegsrc.v6b.tar.gz   libpng-1.2.8-config.tar.gz 编译之后有没有make install?


  #./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr --with-freetype-dir=/usr --with-gd=/usr/local/gd  --with-png-dir=/usr --with-jpeg-dir=/usr --with-libdir=lib64 

checking for the location of libjpeg... /opt 
checking for the location of libpng... /opt 


configure: error: libjpeg.(a|so) not found. 

看红色的部分,似乎你install了,不过安装到/opt下了,而在configure命令指定的目录是/usr,跟这个不一致。
check一下。

#3


jpegsrc.v6b.tar.gz  libpng-1.2.8-config.tar.gz 编译之后 有make install

不好意思好像贴错命令了
# ln -s /usr/include /opt/include
# ln -s /usr/lib64 /opt/lib

  #./configure -prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr --with-freetype-dir=/usr --with-gd=/usr/local/gd --with-png-dir=/usr --with-jpeg-dir=/usr --with-libdir=lib64 --with-mysql=/opt --with-jpeg-dir=/opt
--with-png-dir=/opt
这次尝试也是同样的情况
我想全部卸掉重新装过
[root@localhost ~]# rpm -qa|grep libpng
libpng-1.2.10-7.1.el5_0.1
libpng-1.2.10-7.1.el5_0.1
[root@localhost ~]# rpm -qa|grep libjpeg
libjpeg-6b-37
libjpeg-6b-37
[root@localhost ~]# rpm -e libjpeg-6b-37
error: "libjpeg-6b-37" specifies multiple packages
[root@localhost ~]#
请问这个该怎么卸啊


#4


试一试
rpm -e --allmatches libjpeg-6b-37

#5


export PKG_CONFIG_PATH="your libjpeg path"

#6


看看你装的rpm都有哪些文件:
rpm -qpl libjpeg-6b-37.x86_64.rpm  (此处是文件名)

很怀疑是4搂说的问题,有多个rpm包安装了,有可能是32位的和64位的同时安装了

rpm -e --allmatches xxxx
可以删除所有版本的包,删除之后再安装一下试试

#7


建议尝试下修改下环境变量 export PKG_CONFIG_PATH="your libjpeg path"~

#8


卸不了
error: Failed dependencies:
        libpng12.so.0()(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libpng12.so.0()(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libpng12.so.0()(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libpng12.so.0(PNG12_0)(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libpng12.so.0 is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libpng12.so.0 is needed by (installed) cairo-1.2.4-5.el5.i386
        libpng12.so.0 is needed by (installed) gtk2-2.10.4-20.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) cairo-1.2.4-5.el5.i386
        libpng12.so.0(PNG12_0) is needed by (installed) gtk2-2.10.4-20.el5.i386

error: Failed dependencies:
        libjpeg.so.62()(64bit) is needed by (installed) libtiff-3.8.2-7.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) cups-libs-1.2.4-11.18.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) gtk2-2.10.4-20.el5.x86_64
        libjpeg.so.62()(64bit) is needed by (installed) libgnomeui-2.16.0-5.el5.x86_64
        libjpeg is needed by (installed) libgnomeui-2.16.0-5.el5.x86_64
        libjpeg.so.62 is needed by (installed) libtiff-3.8.2-7.el5.i386
        libjpeg.so.62 is needed by (installed) cups-libs-1.2.4-11.18.el5.i386
        libjpeg.so.62 is needed by (installed) gtk2-2.10.4-20.el5.i386

error: Failed dependencies:
        libfreetype.so.6()(64bit) is needed by (installed) libXfont-1.2.2-1.0.3.el5_1.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) ttmkfdir-3.0.9-23.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) xorg-x11-font-utils-7.1-2.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) fontconfig-2.4.1-7.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) cairo-1.2.4-5.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) libXft-2.1.10-1.1.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) pango-1.14.9-3.el5.centos.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) libgcj-4.1.2-42.el5.x86_64
        libfreetype.so.6()(64bit) is needed by (installed) paps-0.6.6-17.el5.x86_64
        freetype >= 2.1.4 is needed by (installed) fontconfig-2.4.1-7.el5.x86_64
        freetype >= 2.1.4 is needed by (installed) fontconfig-2.4.1-7.el5.i386
        freetype >= 2.1.3-3 is needed by (installed) pango-1.14.9-3.el5.centos.i386
        freetype >= 2.1.3-3 is needed by (installed) pango-1.14.9-3.el5.centos.x86_64
        libfreetype.so.6 is needed by (installed) fontconfig-2.4.1-7.el5.i386
        libfreetype.so.6 is needed by (installed) cairo-1.2.4-5.el5.i386
        libfreetype.so.6 is needed by (installed) libXft-2.1.10-1.1.i386
        libfreetype.so.6 is needed by (installed) pango-1.14.9-3.el5.centos.i386

#9


看来是32位和64位的都装了。你可以强制删除两个包,再重装64位的包。
rpm --allmatches --nodeps

#10


谢谢  
不直接--nodeps影响有多大

删除一个rpm 包;
首先您要学会查询rpm 包 ;请看前面的说明; [root@localhost beinan]#rpm -e 软件包名 举例:我想移除lynx 包,完整的操作应该是:
[root@localhost RPMS]# rpm -e lynx
如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。 但尽可能不要这么做,最好用软件包管理器 systerm-config-packages 来删除或者添加软件;
[root@localhost beinan]# rpm -e lynx --nodeps 

#11


rpm包非常不建议强制卸载,我个人认为这样会导致包依赖关系乱套的。

解决这个问题,首先确定你安装的 jpeg的x86_64的的安装位置
shell> updatedb
shell> locate libjpeg.so
看到已经安装位置


然后明白php参数的含义
根据php的配置参数
--with-jpeg-dir=/usr --with-libdir=lib64 
--with-jpeg-dir=/usr :是确定jpeg的安装位置
--with-libdir=lib64 : 这个是一个全局参数,代表配置器寻找所有安装路径下的lib64目录,而不是默认安装路径下的lib目录

看你刚才查看到的libjpeg.so是否在 你指定的路径中,按上面的配置就是  /usr/lib64/libjpeg.so

应该来说这个配置清除了,就没有问题。
再一个就是,对于配置gd的时候,这些参数同样有效。
搞清楚x86和x86_64之间的关系,也就是/lib /lib64之间是如何配合工作的,这个很重要。

把参数搞清除含义,万变不离其中把!

#12


再一个,就是使用jpegsrc.v6b.tar.gz 和 libpng-1.2.8-config.tar.gz 
要做链接,这个比起使用rpm包起来,麻烦一些,所以当时写安装文档的时候,我都避免了这些麻烦的方法。

因为开源包你不指定位置,有些就把*.so 64位的包扔在了 /lib下,而你又在--with-libdir=lib64中做了强制指定lib64,自然全都找不到了,注意--with-libdir是一个global的参数,只要指定了这个值,全部包依赖就在lib64下去找了。

这样做是有原因的
1。使用rpm的mysql安装包,安装得到的mysqllib.so默认安装在lib64下,
2。只要使用x86_64的centos中的rpm,*.so都是在lib64下
3。反正就是为了方便,所有的指向都指向lib64

4. gd是一个特例,gd中的是要手动去明确你需要的
既然手动的,就需要直接做ln lib64 -> lib

#13


libpng是关键库,不可以乱卸载。

#14


非常同意*er同志的意见,照他的方法搞定了,还是32位与64位的问题,默认安装是都装了,只要指定libdir的路径,就可以了。提出感谢。