在新服务器安装Debian12系统后,随即习惯性的装上LNMP组件及相关的php缓存模块,但发现其他模块都能正常安装,唯独Memcached模块的安装会报安装失败,有几个报错的信息如下:
make: *** No targets specified and no makefile found. Stop.
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
看起来似乎是缺少一些相应的编译及依赖环境,先检查一下GCC是否安装及其版本。
root@Debian12:~# gcc -v
...
gcc version 12.2.0 (Debian 12.2.0-14)
这里可以看到Debian12是存在GCC的且对应的版本也升级到了12.2,那么我们检查一下LNMP中Memcached的安装脚本[lnmp2.0/include/memcached.sh]都做了些什么,发现一处关于GCC版本的判断。
if gcc -dumpversion|grep -Eq "^[7-9]|1[01]"; then
patch -p1 < ${cur_dir}/src/patch/libmemcached-1.0.18-gcc7.patch
fi
./configure --prefix=/usr/local/libmemcached --with-memcached
Make_Install
该正则表达式的含义是匹配以7、8或9的任意单个字符,或者以1开头,后跟0或1的任意单个字符。换句话说,它匹配7、8、9或10、11两种情况。但咱们的GCC版本为12,所以这就很尴尬了,它直接跳过了libmemcached的安装,导致了后面的报错,那么其实只要稍微修改下正则表达式,让GCC 12也能安装libmemcached即可。
if gcc -dumpversion|grep -Eq "^[7-9]|1[012]"; then
经过测试,更改该处判断后即可正常完成安装,至此问题解决。
© 版权声明
① 本站资源都来源网络,版权争议与本站无关,所有内容不保证其准确性,如被内容误导等原因造成损失,本站不承担任何责任;
② 当政府机关依照法定程序要求披露信息时,本站将保留相关证明并提供信息,同时通知被披露对象,本站不承担任何责任;
③ 若因线路及非本站所能控制范围的故障导致暂停服务,期间造成的一切不便与损失,本站不承担任何责任;
④ 会员通过任何手段和方式对本站进行破坏,我们有权对其行为作出处理,并保留进一步追究其责任的权利;
⑤ 未经原作者允许不得转载本文内容,否则将视为侵权,转载或引用本文内容请注明来源及原作者;
⑥ 根据我国《计算机软件保护条例》第十七条规定:“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户下载后不能用作商业或非法用途,需在24小时之内删除,否则后果均由用户承担责任;
⑦ 本站如果侵犯您的利益,请务必携带权利证明请发送邮箱到 admin@zcdtk.com,我们会第一时间为您处理;
⑧ 对于不遵守此声明或者其他违法使用本文内容者,本站依法保留追究权等相关权利。
② 当政府机关依照法定程序要求披露信息时,本站将保留相关证明并提供信息,同时通知被披露对象,本站不承担任何责任;
③ 若因线路及非本站所能控制范围的故障导致暂停服务,期间造成的一切不便与损失,本站不承担任何责任;
④ 会员通过任何手段和方式对本站进行破坏,我们有权对其行为作出处理,并保留进一步追究其责任的权利;
⑤ 未经原作者允许不得转载本文内容,否则将视为侵权,转载或引用本文内容请注明来源及原作者;
⑥ 根据我国《计算机软件保护条例》第十七条规定:“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户下载后不能用作商业或非法用途,需在24小时之内删除,否则后果均由用户承担责任;
⑦ 本站如果侵犯您的利益,请务必携带权利证明请发送邮箱到 admin@zcdtk.com,我们会第一时间为您处理;
⑧ 对于不遵守此声明或者其他违法使用本文内容者,本站依法保留追究权等相关权利。
THE END
暂无评论内容