作为尝试构建gcc 8.2交叉编译器(针对ia64-hp-hpux11.31)的一部分,我遇到了构建binutils 2.31.1的问题。构建实际上似乎完成得很好。我以一堆二进制文件(ar,objdump,字符串等)结尾,但是缺少了一些重要的二进制文件,例如as
和ld
。我认为我正确配置了binutils,显式启用了ld并禁用了gold:../binutils-2.31.1/configure --target=ia64-hp-hpux11.31 --enable-ld=yes --enable-gold=no
。
我浏览了整个构建过程的stdout + stderr输出,但是没有发现任何提示。唯一可疑的是configure
输出:checking whether we are cross compiling... no
。既然我要进行交叉编译,那该不该说是吗?如果我对--build
,--host
和--target
的工作方式的理解是正确的,那不应该意味着交叉编译吗?
我应该注意,这是我第一次尝试构建交叉编译器。我还应该注意,我的Linux“机器”是Windows子系统(Linux子系统)下的Ubuntu 16.04.2 LTS,也许与此有关。
答案 0 :(得分:0)
请参见第{3行的configure
脚本:
ia64*-**-hpux*)
# No ld support yet.
noconfigdirs="$noconfigdirs gdb libgui itcl ld"
;;
这将导致ld
目录在构建期间被跳过。
不过,您应该有一个以gas/as-new
的形式编译的汇编程序(在make install
之后将以ia64-hp-hpux11.31-as
的形式安装)。