问题标签 [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 投票
1 回答
776 浏览

linux - crosstool-NG linux x86 32Bit build 在 32Bit vm-machine 上失败,汇编程序消息

我们要使用 crosstool-NG ct-ng 编译定义的 linux x86 32Bit 工具链:

glibc 2.9
gcc 4.8.4

我正在使用 ubuntu 14.04 32Bit:
Linux ubuntu 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015 i686 i686 i686 GNU/Linux。

crosstool-NG 失败并显示:
Build failed in step 'Installing C library headers & start files'

在编译时

/home/user/crosstool-x86-linux-32/.build/i386-unknown-linux-gnu/build/build-libc-startfiles/csu/crtn.o

它失败了几个汇编程序消息:

[ALL ] /tmp/ccCj5ny0.s: Assembler messages: [ALL ] /tmp/ccCj5ny0.s:92: Error: can't resolve .LFE8' {*UND* section} -.LFB8' {UND section} (和类似的错误......)
在那个特定问题之前,我们遇到了一个类似的问题

../sysdeps/generic/initfini.c: Assembler messages: ../sysdeps/generic/initfini.c:123: Error: open CFI at the end of file; missing .cfi_endproc directive ../sysdeps/generic/initfini.c:123: Error: open CFI at the end of file; missing .cfi_endproc directive

我们在这篇文章http://www.openwall.com/lists/owl-dev/2011/10/中找到的 target/host/build cflags 中使用“-fno-dwarf2-cfi-asm”暂时“修复”了错误18/4

这把我们带到了这里……

我很想知道这个错误的根源是什么,除了 glibc 太旧(它可能是......)。

ct-ng 的 .config 和 build.log 见附件。 http://s000.tinyupload.com/download.php?file_id=60582934753963239188&t=6058293475396323918817262

0 投票
0 回答
766 浏览

c++ - Crosstool-ng 和动态库

如何将自定义动态库(在我的情况下为 wiringPi)与使用 crosstool-ng 创建的 ARMv6 C++ 编译器一起使用?我构建了wiringPi,然后将-lwiringPi 添加到链接器选项中,使用g++ 可以正常工作,但在使用新的ARMv6 C++ 编译器时不能正常工作。

错误是:ld: cannot find -lwiringPi

鉴于交叉工具编译器似乎有自己的结构,也许我必须在 ARMv6 C++ 编译器文件中的某处构建库?

0 投票
1 回答
229 浏览

linux - 为什么工具链名称有单独的 OS 和 EABI 字段。?

例如。arm-unknown-linux-gnueabi 现在,一旦操作系统(即 Linux)被修复,C 库将被修复(GLibc),因此调用约定和遵循的 ABI 将被修复。第 4 个字段,即 ABI 分别有什么要求?工具链能否使用与底层操作系统和 LIBC 使用的不同的 ABI。在那种情况下,由上述工具链编译的库将如何在操作系统上运行?

0 投票
1 回答
418 浏览

raspberry-pi - crosstool-ng 构建失败:未找到 CT_TARGET 命令

我正在尝试为树莓派构建一个交叉编译器。我正在使用 crosstool-ng 来构建这个编译器。我正在关注此链接以供参考。我已经按照链接中的说明进行了所有配置。但是当我尝试构建时,我收到“CT_TARGET command not found”错误。我尝试在谷歌上搜索该错误无法找到任何匹配项。有人可以帮助我克服这个问题吗?这是完整的构建输出。

0 投票
1 回答
269 浏览

crosstool-ng - 在 crosstool-ng-1.9.3 中构建 ct-ng 时出错

我正在尝试在我的 64 位 ubuntu 13.04 上的 crosstool-ng-1.9.3 中构建 ct-ng,但在此命令期间我反复收到以下错误: ./ct-ng build

有谁知道如何解决它?

0 投票
1 回答
34 浏览

cygwin - Cygwin 涉及来自本机 Linux 的 wxWidgets 库?

我在 Cygwin 目标上为 x86-64 Linux 构建了一个工具链主机,现在我的项目涉及 wxWidgets、跨平台 GUI 库。它在涉及来自本机 Linux的 wxWidgets 库之前工作。

我在 Debian 上构建了 wxWidgets,然后将生成的库文件复制到 cygwin 环境中,我的项目通过了编译、链接和二进制文件在 Linux 上是可执行的,但似乎链接到了 wxWidgets 库中的错误函数。

  1. [正确] wxApp::Initialize() --> wxAppBase::Initialize() --> wxAppBase::OnInitGui()
  2. [错误] wxApp::Initialize() --> wxAppBase::Initialize() --> wxAppBase::SafeYieldFor()

``` bool wxAppBase::Initialize(int& argcOrig, wxChar **argvOrig) { .....

} ```

有谁知道为什么?或者我不能直接从 Linux 复制库,必须通过我的工具链在 Cygwin 上构建 wxWidgets?

另一个疑问是,在原生 Linux 上构建和在 Cygwin 上构建的库有什么不同?我认为它们都为 x86-64 Linux 的相同目标平台生成。

0 投票
1 回答
621 浏览

c++ - 使用 gcc-4.8.5 编译但使用 gcc-4.6.4 时未在 Raspberry Pi 上捕获 C++ 异常

编辑:这个问题与我的代码无关,它已经在许多其他问题上进行了测试,没有问题。这是一个 gcc 交叉编译问题。

我在 Ubuntu x64 上使用 g++ 交叉编译一个大型 C++ 程序,以便在 Raspberry Pi 2 上运行。使用 gcc-4.6.4 时,一切似乎都正常。使用 gcc-4.8.5 时,异常似乎正在泄漏并导致程序中止。我已经尝试了一个使用 gcc-4.8.5 进行异常捕获的最小示例,并且最小的情况似乎确实可以正常工作。我的实际程序要复杂得多,似乎异常捕获在某处丢失了。

是否有一些我缺少的 g++ 设置可以改进异常处理?

我正在使用 crosstools-ng 1.22 编译工具链

编辑:这基本上是代码正在做的事情:

0 投票
0 回答
249 浏览

macos - Crosstool-NG 缺少依赖项

我正在尝试使用Crosstool-NG. 我正在Crosstool-NG 1.22.0使用OS X 10.11.4.

我使用 安装homebrew,所以我不确定为什么我缺少依赖项。当我尝试构建时,这是我的输出:

如果需要,我可以附加我的 .config 文件,但我相信错误是在那之前。

我已经尝试过运行:

但错误仍然存​​在。我一直在网上关注一些教程,主要是这个,所以可能有错误。我检查了build.log输出,它几乎与 shell 输出相同。这个问题是否有已知的解决方案,或者我在某处忘记了一步?

0 投票
2 回答
852 浏览

linux - gettext compile 在 cygwin 上的 crosstool-ng 构建中失败

我是交叉编译的新手,我遵循MAKSYM SHYTE 的 using-crosstool-ng-and-cygwin 的步骤

为 i686-nptl-linux-gnu 目标生成交叉编译器时,交叉工具无法构建 gettext

注意:需要这个来自 Ken Brown的gnulib补丁来编译 gettext 模块。或者,如果我们根据 bountysource 中的 thorrr 将/usr/include/sys/types.h 中的 #include 注释掉,它也会编译

[UPDATE1] 为主机构建 gettext 模块也会为 x86_64-unknown-linux-gnu 目标提供完全相同的错误。

在为主机构建 gettext 模块时,ct-ng 构建在链接阶段失败。

[UPDATE2] 填写“collect2: error: ld returned 1 exit status”之前的所有日志

1)构建日志显示“为构建构建和安装gettext模块”成功,但在“为主机构建和安装gettext模块”时失败- 由于构建和主机架构相同 - x86/cygwin 可能有什么区别? ? 我是否缺少任何配置设置?

2) 如果有人在最​​近的 cygwin 版本上为 linux 64/32 位目标安装了 crosstool-ng,请分享详细的步骤或链接。

[更新3]

由于我没有尝试为 linux(ubuntu) 进行交叉编译,所以我尝试了arm-unknown-linux-gnueabi 和 armv7-rpi2-linux-gnueabihf 目标,cygwin 可以为这两个目标生成交叉编译器。奇怪的是,32 位和 64 位普通 linux 目标的交叉编译器生成在 Cygwin 中失败了。我可能错过了一些微不足道的东西。

[/更新3]

最近在 (x86/i686)_linux 目标上取得成功的任何人请分享您的步骤或链接。

0 投票
1 回答
1751 浏览

linux - crosstools-ng:在 OSX 上为 x86_64 linux 编译工具链 - 安装内核头文件时出错

我正在尝试在运行 OSX 10.9.5 并使用 crosstool-ng-1.22.0 的 64 位 Mac 上为 x86_64 linux 创建工具链。我尝试使用一些示例(x86_64-w64-mingw32,x86_64-pc-linux-gnux86_64-unknown-linux-gnu)进行构建,但我遇到了构建错误,如下所示。我没有构建黄金链接器,也没有尝试静态链接,而是构建在区分大小写的文件系统上。build.log 和配置显示在错误列表之后。

看起来构建环境在安装/构建内核头文件而不是 Linux 头文件时可能正在寻找 OSX 头文件(在 内/usr/include),但我不知道如何解决这个问题。

任何人都可以就成功构建我需要做的事情提供建议吗?

这是 build.log 的相关部分:

最后,这是配置文件: