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这样的路径才解决问题。

 

相关内容

热门资讯

特朗普:胡塞武装若封锁红海,美... 新华社华盛顿7月21日电(记者黄强 徐剑梅)美国总统特朗普21日在白宫会见到访的黎巴嫩总统奥恩时表示...
AI第一城|GOAI世界人工智... 7月21日上午,GOAI世界人工智能开源大赛(Global Open-source AI Chall...
刀闸阀行业解读:申奥阀门的技术... 在工业流体控制领域,高粘度介质、强腐蚀环境以及含固体颗粒的复杂工况,长期是制约管路系统安全运行的关键...
原创 华... 现在的手机屏幕做得是越来越大了,iPhone17 Pro Max也做了6.9英寸大屏,国产自然不能输...
WAIC2026:没有花架子,... 齐鲁晚报·齐鲁壹点 记者 任磊磊 “逛不完,根本逛不完!”在世界人工智能大会展馆现场,不少观众一边逛...
欧洲议会外委会首次派团访华,王... 2026年7月21日,中共中央政治局委员、外交部长王毅在北京会见欧洲议会外事委员会主席麦克阿里斯特率...
大熊猫“福虎”嘴角生疮,官方回... 7月21日,南京紫清湖野生动物世界发布通告,称“福虎”自嘴角边长疮至今,园区一直在中国大熊猫保护研究...
“生产车间没有一颗真水果”,这... 文|张宁燊你家楼下便利店的冷柜里,一定躺着几瓶印着“NFC”3个字母的果汁。透明瓶身中,颜色鲜艳的果...
福建宁德一鞋厂起火,两小时后被... 网络截图。7月21日,福建宁德霞浦县,网友反映有一鞋厂起火,视频显示,起火建筑中冒出阵阵黑烟。9时许...
美国的科学叛徒们惊叫“狼来了”... 中国AI发展突飞猛进,美国的芯片封锁无法阻止这个势头,让华盛顿陷入了恐慌。美国媒体Axios周一报道...