CDH集群编译Python3时GCC报错:无法找到ld工具问题咨询
CDH集群编译Python3失败:"cannot find 'ld'"问题排查解决
没错,你看到的collect2: fatal error: cannot find 'ld'就是导致编译失败的核心原因。
为什么会出现这个错误?
ld是GNU链接器(GNU Linker),是C/C++编译流程里的关键工具——它负责把编译器生成的目标文件(.o文件)链接成可执行程序。你的CDH集群节点里缺失了这个工具,自然没法完成Python3的编译配置。
解决步骤
验证ld是否缺失
先在节点上执行命令确认:which ld如果没有任何输出,说明系统确实没有安装
ld。安装ld所在的依赖包
ld属于binutils工具集的一部分,对于你的CentOS 7系统,直接用yum安装即可:yum install -y binutils验证安装结果
再次执行which ld,如果输出类似/usr/bin/ld的路径,说明安装成功。重新编译Python3
先清理之前的编译缓存,再重新配置编译:# 进入Python源码目录 cd /opt/Python-3.7.4 make clean # 配置安装路径(根据你的需求修改) ./configure --prefix=/usr/local/python37 make && make install
额外建议
CDH集群的节点通常会做基础包精简,除了binutils,编译Python3还需要其他依赖包,建议一并安装避免后续报错:
yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel
内容的提问来源于stack exchange,提问作者chana
相关产品推荐
相关产品推荐

