configure: error: cannot compute suffix of object files: cannot compile

本文解决CentOS6.5下安装gcc-4.8.4时遇到的配置错误问题,提供了设置环境变量的具体方法,帮助读者避免安装过程中的常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS 6.5下安装gcc-4.8.4 make的时候提示以下错误:
configure: error: cannot compute suffix of object files: cannot compile

解决办法:
我的gmp, mpfr, mpc都是使用默认参数安装的,没指定任何参数

./configure
make
make install

所以直接使用下面的命令设置环境变量就可以了:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

如果安装时指定了安装目录,使用类似下面的命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc-4.6.3/mpc-0.9/mpc_install/lib:/opt/gcc-4.6.3/gmp-5.0.4/gmp_install/lib:/opt/gcc-4.6.3/mpfr-3.1.0/mpfr_install/lib
### 解决 Glibc 编译时 Configure 错误与 LD_LIBRARY_PATH 配置问题 当在编译 Glibc 时遇到 `configure` 错误,尤其是与 `LD_LIBRARY_PATH` 相关的问题时,通常是因为环境变量未正确配置或系统中存在路径冲突。以下是针对此问题的详细分析和解决方案。 #### 环境变量配置 确保 `LD_LIBRARY_PATH` 包含正确的动态链接库路径,并避免当前目录(`.`)出现在路径中。将当前目录包含在 `LD_LIBRARY_PATH` 中可能会导致加载错误的库文件[^1]。可以通过以下命令设置 `LD_LIBRARY_PATH`: ```bash export LD_LIBRARY_PATH=/path/to/correct/libs:$LD_LIBRARY_PATH ``` 此外,建议检查是否存在重复或冲突的库路径。可以使用以下命令查看当前的 `LD_LIBRARY_PATH` 设置: ```bash echo $LD_LIBRARY_PATH ``` #### 检查当前目录的影响 如果 `LD_LIBRARY_PATH` 包含当前目录(`.`),可能会导致加载错误的库文件或版本冲突。建议从 `LD_LIBRARY_PATH` 中移除当前目录。例如: ```bash export LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed 's/:\.//') ``` #### 验证动态链接器配置 确保系统的动态链接器配置文件 `/etc/ld.so.conf` 包含所有必要的库路径,并运行以下命令以更新缓存: ```bash sudo ldconfig ``` #### 配置 Glibc 的构建环境 在配置 Glibc 时,建议使用独立的构建目录以避免污染源代码目录。例如: ```bash mkdir glibc-build cd glibc-build ../glibc-2.34/configure --prefix=/usr/local/glibc-2.34 ``` 同时,可以通过显式指定编译器和工具链来避免潜在的路径冲突。例如: ```bash export CC=gcc export CXX=g++ ``` #### 分析 config.log 文件 `config.log` 文件中记录了详细的配置过程和错误信息。打开该文件并查找类似以下的关键字: - `cannot compute suffix of object files` - `cannot compile` 如果发现类似以下的错误信息: ``` configure:3456: checking for suffix of object files configure:3478: gcc -c conftest.c >&5 configure:3478: $? = 127 ``` 这表明编译器未能成功运行。可能的原因包括编译器路径不正确、缺少必要的工具链组件或环境变量配置错误[^2]。 #### 示例:修复 LD_LIBRARY_PATH 冲突 假设当前目录中存在一个与系统库冲突的库文件,可以通过以下方式解决: 1. 移除当前目录(`.`): ```bash export LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed 's/:\.//') ``` 2. 确保只包含必要的库路径: ```bash export LD_LIBRARY_PATH=/usr/lib:/lib:$LD_LIBRARY_PATH ``` #### 测试配置是否成功 完成上述调整后,重新运行 Glibc 的配置脚本: ```bash ../glibc-2.34/configure --prefix=/usr/local/glibc-2.34 ``` 如果配置成功,则可以继续进行编译和安装。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值