我正在尝试交叉编译 gcc 4.4.3,它是跨库。我已经设置了交叉编译所需的所有环境变量(AS、CC、CXX、AR、RANLIB、STRIP),并且已经对许多其他东西使用了相同的设置,所有这些都运行良好。
现在 gcc 本身也可以毫无问题地编译,但支持库真的让我很困惑。当使用 make 所有这些时,除了编译好的 libgcc 之外,给我:
configure: error: C compiler cannot create executables
config.log 中它们都失败的地方是:
configure:2569: checking for C compiler default output file name
configure:2572: i686-pc-gnu-gcc -g -march=i686 -O2 -pipe -mtune=generic conftest.c >&5
/home/lnz/abs-hurd/cross/cross/libexec/gcc/i686-pc-gnu/4.4.3/cc1: error while loading shared libraries: libc.so.0.3: cannot open shared object file: No such file or directory
这里的问题似乎是 cc1 正在尝试加载用于目标的 libc。ldd 确认此 cc1 不会尝试加载 libc.so.0.3(链接到 libc.so.6)。lib 目录中也不缺少 libc.so.0.3。当尝试从命令行配置使用完全相同的命令时,一切正常。
这方面的帮助会很棒,我已经看了好几天了,没有任何进展。