make[1]: *** [install-pear-installer] Error 127

本文介绍了解决在安装PHP过程中遇到的libiconv.so.2缺失问题的方法。通过向/etc/ld.so.conf添加路径并使用ldconfig命令,成功解决了make install时报错的问题。

在安装php过程中make install时候的报错:
Installing PEAR environment: /usr/local/php/lib/php/
/home/sysadmin/zhaoyj/software/php-5.2.17/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
make[1]: *** [install-pear-installer] Error 127
make: *** [install-pear] Error 2

但是在/usr/local/lib下却能找到libiconv.so.2
[root@XKWB5510 php-5.2.17]# find / -name libiconv.so.2
/usr/local/lib/libiconv.so.2
/home/sysadmin/zhaoyj/software/libiconv-1.13.1/lib/.libs/libiconv.so.2

先尝试着创建一下软连接
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
使用此方法的时候需要考虑到在configure时的支持选项--with-iconv-dir=/usr/local,所以创建连接这方式可能是无效的

解决方法是将/usr/local/lib路径添加到/etc/ld.so.conf文件中,
然后用ldconfig命令加载,再重新输入make install命令就可以了
[root@XKWB5510 php-5.2.17]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib


php编译成功了
[root@XKWB5510 php-5.2.17]# make install
Installing PHP SAPI module: cgi
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.7
[PEAR] Console_Getopt - installed: 1.2.3
[PEAR] Structures_Graph- installed: 1.0.3
[PEAR] XML_Util - installed: 1.2.1
[PEAR] PEAR - installed: 1.9.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/php/include/php/ext/pdo/


### NVIDIA Linux Kernel Module Installation Error -Werror=date-time 在安装NVIDIA驱动程序时,如果遇到与`-Werror=date-time`相关的错误,这通常是由于编译器选项和内核配置不兼容引起的。以下是一些可能的解决方案: #### 1. 修改内核编译选项 可以尝试通过修改内核的编译选项来解决此问题。具体方法是禁用`-Werror=date-time`警告作为错误的处理[^1]。可以通过以下步骤实现: - 编辑内核的`.config`文件。 - 找到并注释或删除与`CONFIG_CC_WARNING_CHECKS`相关的选项。 - 重新编译内核。 ```bash make menuconfig # 找到 CONFIG_CC_WARNING_CHECKS 并将其设置为 n ``` #### 2. 更新内核版本 有时,特定版本的内核可能会导致此类问题。尝试将内核升级到更高版本(例如5.11或以上),因为较新的内核版本可能已经修复了与此相关的问题[^2]。 #### 3. 修改NVIDIA驱动的Makefile 如果无法更改内核配置,可以尝试手动修改NVIDIA驱动的`Makefile`,以移除`-Werror=date-time`选项。以下是操作步骤: - 定位NVIDIA驱动源代码中的`Makefile`。 - 搜索包含`-Werror=date-time`的行,并将其删除或注释掉。 ```bash sed -i 's/-Werror=date-time//' /usr/src/nvidia-<version>/Makefile ``` #### 4. 使用DKMS进行自动构建 使用DKMS(Dynamic Kernel Module Support)可以帮助自动化内核模块的构建过程,从而避免手动干预。确保已安装DKMS,并重新安装NVIDIA驱动程序。 ```bash sudo apt-get install dkms sudo apt-get install nvidia-driver-<version> ``` #### 5. 强制忽略编译警告 如果上述方法均无效,可以尝试通过强制忽略所有编译警告来完成安装。这可以通过传递额外的编译选项实现: ```bash export IGNOREDCCWARNINGS="-Wno-error=date-time" sudo ./NVIDIA-Linux-x86_64-<version>.run --kernel-build-options="-Wno-error=date-time" ``` ### 注意事项 - 在执行任何修改之前,请确保备份重要数据。 - 如果使用的是自定义内核,请确保其支持NVIDIA驱动所需的模块。 ```python # 示例:检查当前内核版本 import os os.system("uname -r") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值