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

 

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...