Invalid configuration `x86_64-unknown-linux-gnu': machine

本文介绍了一种在configure过程中遇到的Invalid configuration错误的解决方案。通过替换config.guess和config.sub文件可以解决machine not recognized的问题。
checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized

在做 configure 的时候,报上述的错误。
解决方案:
把 /usr/share/libtool/config.guess 覆盖到相关软件自带的config.guess
把 /usr/share/libtool/config.sub 覆盖到相关软件自带的config.sub
./configure --enable-shared --enable-static
07-19
在使用 `g++` 构建项目时,如果遇到 `build2 error: invalid directory './x86_64-linux-gnu/13' in g++ -print-search-dirs output` 错误,通常表明编译器路径配置存在问题,导致 `g++` 在解析搜索路径时识别到了无效目录。这种问题可能与编译器版本、环境变量或交叉编译配置有关。 ### 检查编译器路径和版本 首先应确认当前使用的 `g++` 版本是否正确,并检查其实际指向的路径: ```bash which g++ g++ --version ``` 如果系统中存在多个 GCC 版本,可能会导致路径解析错误。可以通过 `update-alternatives` 调整默认版本: ```bash sudo update-alternatives --config g++ ``` 选择正确的编译器版本后,再次运行 `g++ -print-search-dirs` 查看输出路径是否合理。 ### 验证 `g++ -print-search-dirs` 输出 执行以下命令以查看编译器的搜索路径: ```bash g++ -print-search-dirs ``` 如果输出中包含类似 `./x86_64-linux-gnu/13` 的路径,则说明编译器在解析时使用了相对路径,这可能是由于 `gcc` 或 `g++` 的配置文件(如 `specs`)被修改所致。可以尝试重新安装 GCC: ```bash sudo apt update sudo apt install --reinstall gcc g++ ``` 或者在 Red Hat 系统上: ```bash sudo yum reinstall gcc gcc-c++ ``` ### 清理环境变量 某些环境变量如 `LIBRARY_PATH`、`C_INCLUDE_PATH` 和 `CPLUS_INCLUDE_PATH` 可能会影响编译器的路径解析。建议在构建前清理这些变量: ```bash unset LIBRARY_PATH unset C_INCLUDE_PATH unset CPLUS_INCLUDE_PATH ``` ### 检查交叉编译配置 若使用交叉编译工具链,确保 `g++` 指向正确的工具链,并且 `sysroot` 设置正确。例如: ```bash x86_64-linux-gnu-g++ --sysroot=/path/to/sysroot -print-search-dirs ``` 如果发现路径仍然错误,应检查交叉编译工具链的安装和配置。 ### 更新动态链接库缓存 参考引用中的方法[^1],若构建过程中涉及动态链接库查找问题,应确保 `/etc/ld.so.conf` 及其包含的 `.conf` 文件中配置了正确的库路径,并运行: ```bash sudo ldconfig ``` 该命令将更新系统的共享库缓存,确保构建系统能够正确找到所需的库文件。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值