问题标签 [crosstool-ng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3053 浏览

compilation - 交叉编译(ARM)“VFP 寄存器参数”错误

我想构建一个 DDS 'perftest'应用程序来在 x64 Kubuntu 15.10 和 RaspberryPi 1 B 之间进行一些测试,但是在 /rtiperftest.5.2.4/perftest_cpp 目录中没有用于 armv6 架构的 makefile。

我已经安装了 crosstool-ng 1.22 来按照这个HOWTO(第 4 和第 5 节)为目标 armv6 架构构建应用程序,但我不知道如何使用交叉编译器编写构建“perftest_cpp”的 makefile 以在 RaspberryPi 上运行它。

现在我有一个用于构建“perftest_cpp”的生成文件(附加),但我得到了“使用 VFP 寄存器参数”错误(包含数百个文件),我无法理解(我只粘贴一个错误以使其可读)

这是我的 Makefile.RPi

任何想法?

谢谢你。


附加的文件:

生成文件.RPi

common2.mk

0 投票
1 回答
91 浏览

build - ct-ng 构建永无止境

我面临一个问题,即使在互联网上查看数小时后也无法解决。

问题是:我正在使用 crosstool-ng 创建一个交叉工具链。我实现了做 ct-ng menuconfig 然后我启动了 ct-ng build

所有第一步都执行得很好,但是这一步Installing pass-1 core gcc compiler永远不会结束,并且日志附近的时钟会冻结。

我试图查看 build.log 文件,但它没有显示任何错误。它的最后一行是: echo timestamp > s-fixing list

我正在使用 crosstool-ng (1.22) 和 glibc (2.22)。

如果您对我如何解决我的问题有任何想法,我会很高兴听到它!谢谢你。

0 投票
1 回答
301 浏览

wxwidgets - 如何使用 wxwidgets 设置 crosstool-ng

我想为我的 gui 应用程序设置 ct-ng,现在我想使用 wxwidgets。

为了设置交叉工具,我使用了:

我发现的唯一方法是从 github 克隆 wxwidgets 并在脚本中按上述方式编译它。然后,我包含为路径 -I

编译时出现数百个错误:

我该怎么办?

0 投票
0 回答
540 浏览

c - 使用 Crosstool 交叉编译 arm-unknown-linux-uclibcgnueabi

我在将 GCC 交叉编译为arm-unknown-linux-uclibcgnueabi. (我真正的目标是 android,但这个会产生在我的手机上运行的输出)

我成功创建了一个普通的交叉编译器,但我想创建一个在我的目标上运行的编译器。我以为我会做这样的事情:build=x86_64-linux-gnu host=arm-unknown-linux-uclibcgnueabi target=arm-unknown-linux-uclibcgnueabi与加拿大十字会。但不知何故,即使我没有更改.config文件上的任何内容并在编译“正常”编译器后创建新编译器,它也会失败。我希望编译器是静态链接的,可能是这样吗?那么有人可以给我一个成功构建的配置或给我一个可以工作的编译器吗?

0 投票
3 回答
1875 浏览

linux - crosstool-ng 无法获取 linux tarball

我正在尝试使用构建工具链crosstool-ng,我已经全部设置好,按照http://crosstool-ng.org/#download_and_usage中的描述选择了我的 cpu ,我正处于可以构建工具链的步骤. 但是,当我输入ct-ng build时,它会因以下错误而取消:

build.log我得到以下信息:

我知道它无法检索内核,有没有办法可以手动下载它并告诉脚本 tarball 的位置?

好的,我意识到这 wget http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.3.tar.gz会失败,但wget --no-check-certificate http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.3.tar.gz可以通过代理很好地下载 tarball。所以我复制/usr/bin/wget到 /usr/binwget~orig and wrote a wrapper/usr/bin/wget`,看起来像:

但这似乎也不起作用,我现在得到以下内容build.log

它如何自动知道我的原始wget二进制文件现在被称为wget~orig??? Andit 尝试使用它而不是我现在位于的包装器/usr/bin/wget(是的,我已经添加了 x 权限并尝试了它,wget http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.3.tar.gz来自 shell 的一个(使用我的包装器脚本)现​​在工作得很好......

0 投票
1 回答
1464 浏览

compilation - 使用外部 crosstool-ng 工具链编译 buildroot (4.3.x)

我已经使用crosstool-NG. Crosstool-NG自动从 kernel.org 下载所需的源代码来编译工具链。现在我想为Linux系统编译一个发行版,并认为使用buildroot将是最简单的方法。所以我配置buildroot为使用我现有的交叉工具链,但在执行时make,它抱怨:

无论如何我可以将buildroot与这个工具链一起使用,还是我需要等到buildroot赶上他们的内核版本?

EDIT1
在选择内核 hheaders 4.3.x 时,我收到了这个错误:

并且让我选择的最高版本号 menuconfig 是4.8.x

0 投票
0 回答
1285 浏览

c++11 - Crosstool-ng g++ 不编译 c++11 std::current_exception

我使用 Crosstool-ng 构建了一个 gcc 工具链,但生成的 g++ 不会编译和/或链接 C++11 异常。

如果我尝试编译:

通过:

我得到:

但是,如果我另外提供 cortex-a9 作为 cpu,则行为会发生变化:

结果是:

我在工具链中寻找 current_exception ,这对我来说似乎很好:

我用于 Crosstool-ng 的设置是:

构建 std::array 示例工作正常。

编辑:

如果我在CT_ARCH_CPU="cortex-a9"我的 crostool-ng 配置中包含该选项(这导致--with-cpu=cortex-a9在 g++ 中),则 std::current_exception 示例可以正常工作。

所以问题是:

为什么编译器应该为其生成代码的 cpu 变体以及 cpu 变体被告知工具链的方式(-mcpu在运行时与 inbuild 时--with-cpu)正在影响编译/链接 std::current_exception 的能力?

0 投票
0 回答
516 浏览

gcc - 运行时 gcc -mcpu 与 buildin --with-cpu 之间的差异

-mcpu使用选项(例如)为 arm 编译与省略 mcpu 选项并通过带有选项(例如选项-mcpu=cortex-a9)的 crosstool-ng 构建工具链之间有什么区别。CT_ARCH_CPU--with-cpu--with-cpu=cortex-a9

crosstool-ng menuconfig 帮助文本指定CT_ARCH_CPU

...是配置标志--with-cpu=XXXX,以及运行时标志-mcpu=XXX。

gcc 文档指出:

--with-cpu=cpu

指定编译器默认为哪个 cpu 变体生成代码。cpu 将用作 -mcpu= 开关的默认值。

(见https://gcc.gnu.org/install/configure.html

这意味着 -mcpu 和 --with-cpu 的作用相同,但它们的行为似乎不同,如问题所示:

Crosstool-ng g++ 不编译 c++11 std::current_exception

0 投票
2 回答
971 浏览

cross-compiling - RHEL ppc64le 目标的交叉编译器

我尝试使用 crosstool-ng 为 RHEL7.1 制作一个交叉编译器,这意味着:

  • ppc64le (powerpc 64bit little endian)
  • glibc 2.17
  • 内核 3.10

我觉得我错过了一些重要的补丁,因为我收到了消息

任何帮助表示赞赏

0 投票
0 回答
250 浏览

crosstool-ng - arm-unknown-linux-uclibcgnueabi 中缺少 execinfo .h

ng 用户,

有没有人知道在交叉编译 arm-unknown-linux-uclibcgnueabi 工具链时如何拥有 execinfo.h 头文件?

基本上我已经交叉编译了 arm-unknown-linux-uclibcgnueabi 工具链,但它没有 execinfo.h 头文件。我需要 execinfo.h 来编译我的源代码。

请有任何建议。谢谢..