PHP编译时提示libjpeg.(a|so) not fou
admin
2023-01-19 13:01:03
0

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/mysql/mysql --with-mysqli=/mysql/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --with-libxml-dir

在根目录下查找 find / -name libjpeg.so 发现确实存在该库文件

/usr/lib64/libjpeg.so

网上大部分给出的解决方式为:

ln -s /usr/lib64/libjpeg* /usr/lib/

通过软链接的方式将该库文件指向lib目录下。但这样增加链接数不说,还导致后续维护的麻烦。

包括后续要为PHP 增加 gd,libpng等都需要做类似的操作,实在是麻烦,思考发现,为什么类似--with-gd这样的参数即使指定/usr/lib64这么明确的路径,编译过程还是会找lib下的库?编译文件的内容太多,不能一一查看,转念看看是否有参数另外指定动态库的路径呢?

仔细阅读了下configure的编译参数发现:

--with-libdir=NAME      Look for libraries in .../NAME rather than .../lib

解释说在指定的名称下查找库文件取代lib

OK,找到了参数,在尝试了数次后,发现其实只要指定--with-libdir=/lib64后就能顺利通过编译了。

 

另外:如果编译PHP时指定mysql路径问题,因为之前指定的是lib64导致如下报错Cannot find libmysqlclient_r under /mysql. 所以之类我ln -s /mysql/mysql/lib /mysql/mysql/lib64

 

还有一个问题就是我mysql一开始软链接直接指向根目录,结果编译时发现他查找的路径是/mysql/mysql,真气人,为了解决这个问题反复编译,最终只好把源码包链接到/mysql下形成/mysql/mysql这样的路径才解决问题。

 

相关内容

热门资讯

全国人大代表雷军:京津冀联建国... 新京报讯(记者曹晶瑞)“以科技创新加快引领新质生产力,是时代赋予我们这代人的使命,民营企业更要敢为人...
特朗普说结束伊朗战争后“古巴只... 特朗普3月5号下午说,结束伊朗战争之后,古巴只是时间问题,他此番表态背后真实目的又是什么?对此,国际...
realme暂停新机研发?官方... PChome 3月7日消息,一则 “realme疑似暂停2026年全新手机产品研发” 的消息在微博快...
对话高通执行副总裁:很快发布X... 智东西 作者 | ZeR0 编辑 | 漠影 智东西3月6日报道,在MWC 2026期间,高通执行副总...
2026年网络准入控制系统最新... 老吴的科技公司刚熬过业务扩张期,就栽了个大跟头。 上周一上班,全公司内网突然瘫痪,核心业务系统无法登...
张凯丽委员:禁止未成年用网的封... 3月5日上午9时,十四届全国人大四次会议在人民大会堂开幕,国务院总理李强作政府工作报告,其中提到“加...
诚信氧舱工厂十大排行:哪家口碑... 在特种医疗设备领域,氧舱类产品的技术门槛与安全性要求极高。根据IDC 2023年发布的医疗设备智能化...
三部法律案提请审议,标注中国立... 新华社北京3月7日电 题:三部法律案提请审议,标注中国立法新刻度新华社记者刘硕、齐雷杰立法,关乎国家...
媒体:不理旧账,不配为官 作者:何涛3月6日上午,十四届全国人大四次会议辽宁省代表团举行全体会议,并向中外媒体开放。会上,辽宁...
伊朗称做好长期作战的准备,专家... 伊朗伊斯兰革命卫队称已做好长期战争的准备,新型武器正在研发中,尚未大规模使用。伊朗外长也表示做好应对...