在一个工作中的C项目中,make为各种目标构建,其中一个显然是powerpc-405。该特定目标的构建失败,因为我没有安装工具链。
make[7]: /opt/crosstool/gcc-4.2.4-glibc-2.3.6/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc: Command not found问:我对“下载源代码,然后自己构建它”的模式有一个非常不稳定的理解,这在Linux-land中很常见。有人能描述一下我如何在错误中做特定于指定工具链的操作吗?
到目前为止,我已经决定/认为我需要去ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/。
问:我应该从这里下载什么?我想我可以安全地忽略诸如fortran和java之类的东西。但从{ gcc-4.2.4,gcc-core-4.2.4,gcc++-4.2.4,式-测试套件-4.2.4 }中,我应该下载哪一个?全?
问:在downloading+extracting正确的一组tarball之后,下一步到底是什么?我有一个试探性的理解,我最终会做configure; make; make install咒语,但我不清楚我需要做什么之前和之后。
问:您会注意到错误提到了glibc-2.3.6。这幅画在哪里合适呢?如上所述,我所在的ftp站点只提到gcc-4.2.4。我不清楚是什么“屏蔽”gcc-4.2.4和glibc-2.3.6来解决构建错误。
问:注意到的ftp站点看起来像一个“通用”gcc。也就是说,从文件名中,我没有察觉到与powerpc-405有任何关系。我是在正确的轨道上,还是应该寻找其他地方?我在谷歌上搜索了"powerpc“和"gcc”的各种组合,没有发现任何看起来像powerpc-405-specific gcc的东西。
>uname -a
Linux linuxbox 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux通过这个具体的例子,我想了解Linux用户/开发人员如何理解如何下载跨编译器工具链并编译它们。
发布于 2017-06-22 07:55:15
我对Linux中常见的“下载源代码,然后自己构建它”的模式有一个非常不稳定的理解。有人能描述一下我如何在错误中做特定于指定工具链的操作吗?
基本上,请阅读http://www.kegel.com/crosstool/current/doc/crosstool-howto.html的快速启动和故障排除部分。
更一般情况下,请参阅如何从源代码编译和安装程序获得从源代码编译的内容。
这应该能回答你的一些问题。
我应该从这里下载什么?我想我可以安全地忽略诸如fortran和java之类的东西。但从{ gcc-4.2.4,gcc-core-4.2.4,gcc++-4.2.4,式-测试套件-4.2.4 }中,我应该下载哪一个?全?
请注意,交叉凳子下载他们为您!
在downloading+extracting正确的一组tarball之后,下一步到底是什么?我有一个初步的理解,最终我将做配置;make;让安装咒语,但我不清楚,我需要做的前后。
交叉凳子为您编译它/它们。
更普遍的情况是:在下载所需内容的源之前,首先阅读网站上的构建说明。
一般来说,./configure && make && sudo make install是这样的:
您提取到临时目录的源cd进入目录并运行./configure,这将检查是否满足所有先决条件。它将提到任何缺少的库,这些库在开发(Debian)/devel(redhat/suse)包中,您将需要这些库。找到它们并安装,然后重试./configure。
在没有错误的情况下完成后,您将发出make。
希望它在没有错误的情况下完成,您可以发出sudo make install。
有时,你得到一个autogen.sh而不是配置.阅读网站上的说明。
您将注意到错误提到glibc-2.3.6。这幅画在哪里合适呢?如前所述,我所在的ftp站点只提到gcc-4.2.4。我不清楚什么“屏蔽”gcc-4.2.4和glibc-2.3.6用于解决构建错误。
glibc是使用的c库。目标平台上的c库必须是兼容的版本,否则会遇到问题。再一次,交叉凳子为你处理这个。
所以glibc是一个c库,就像一个DLL,所有用gcc (C编译器)编译的程序都可以使用。gcc将给定平台/glibc版本组合的源代码(文本文件)编译成二进制文件、可执行文件和库。
例如,您可以看到使用ldd的给定程序的依赖关系,例如ldd /usr/bin/gawk。
这个著名的ftp站点看起来像一个“通用”gcc。也就是说,从文件名中,我没有感觉到与powerpc-405有任何关系。我是在正确的轨道上,还是应该寻找其他地方?我做了谷歌的各种组合的"powerpc“和" gcc”,但没有发现任何看上去像它导致了powerpc-405具体gcc。
gcc的源代码可以为一些目标平台进行编译。在这里,你可以看到源代码,平台无关,一个源代码适用于所有人。
https://unix.stackexchange.com/questions/372611
复制相似问题