2010-03-30 53 views
0

我想跨编译gcc 4.4.3,它是跨库。我已经设置了交叉编译所需的所有环境变量(AS,CC,CXX,AR,RANLIB,STRIP),并且已经为许多其他的东西使用了相同的设置,所有这些工作都很好。gcc支持库在交叉编译时失败

现在gcc本身也编译没有问题,但支持库真的让我困惑。当使用使所有的人,除了其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)。 libc.so.0.3也不会从lib目录中丢失。 当尝试完全相同的命令configure命令行使用一切正常。

帮助,这将是伟大的,我一直在寻找这个好几天没有任何进展。

回答

0

课程后,我搜索了4天,我发现它在谷歌30分钟在这里发帖-.-

我有什么做的是设置RPATH_ENVVAR我LD_LIBRARY_PATH因为很显然配置后,使用目标库的目录时,交编译。

0

你试过strace了吗?当然,你可能想对此做一些过滤:-)。