2016-08-03 78 views
0

我是新来的交叉编译,我遵循的步骤从using-crosstool-ng-and-cygwin by MAKSYM SHYTE的gettext编译的crosstool-ng的失败基础上的cygwin

的crosstool的失败针对i686-NPTL Linux的GNU的目标产生交叉编译时建立的gettext

build = x86_64-unknown-cygwin 
host = x86_64-unknown-cygwin 
target = i686-nptl-linux-gnu or x86_64-unknown-linux-gnu 

注意:此gnulib patch from Ken Brown是获取gettext模块编译所需的。或者,它也编译,如果我们只是注释掉/usr/include/sys/types.h中的#include as per thorrr from bountysource

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

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

[ALL ] libtool: link: x86_64-build_unknown-cygwin-g++ -shared -nostdlib 
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/crtbeginS.o 
.libs/libgettextsrc_la-message.o .libs/libgettextsrc_la-po-error.o 
.libs/libgettextsrc_la-po-xerror.o .libs/libgettextsrc_la-read-catalog-abstract.o 
.libs/libgettextsrc_la-po-lex.o .libs/libgettextsrc_la-po-gram-gen.o 
.libs/libgettextsrc_la-po-charset.o .libs/libgettextsrc_la-read-po.o 
.libs/libgettextsrc_la-read-properties.o .libs/libgettextsrc_la-read-stringtable.o 
.libs/libgettextsrc_la-open-catalog.o .libs/libgettextsrc_la-dir-list.o 
.libs/libgettextsrc_la-str-list.o .libs/libgettextsrc_la-read-catalog.o 
../woe32dll/.libs/libgettextsrc_la-c++color.o ../woe32dll/.libs/libgettextsrc_la-c++write-catalog.o 
../woe32dll/.libs/libgettextsrc_la-c++write-properties.o 
../woe32dll/.libs/libgettextsrc_la-c++write-stringtable.o 
../woe32dll/.libs/libgettextsrc_la-c++write-po.o 
.libs/libgettextsrc_la-msgl-ascii.o .libs/libgettextsrc_la-msgl-iconv.o 
.libs/libgettextsrc_la-msgl-equal.o .libs/libgettextsrc_la-msgl-cat.o 
.libs/libgettextsrc_la-msgl-header.o .libs/libgettextsrc_la-msgl-english.o 
.libs/libgettextsrc_la-msgl-check.o .libs/libgettextsrc_la-file-list.o 
.libs/libgettextsrc_la-msgl-charset.o .libs/libgettextsrc_la-po-time.o 
.libs/libgettextsrc_la-plural-exp.o .libs/libgettextsrc_la-plural-eval.o 
.libs/libgettextsrc_la-plural-table.o .libs/libgettextsrc_la-sentence.o 
.libs/libgettextsrc_la-libexpat-compat.o ../woe32dll/.libs/libgettextsrc_la-c++format.o 
.libs/libgettextsrc_la-format-c.o .libs/libgettextsrc_la-format-sh.o 
.libs/libgettextsrc_la-format-python.o .libs/libgettextsrc_la-format-python-brace.o 
.libs/libgettextsrc_la-format-lisp.o .libs/libgettextsrc_la-format-elisp.o 
.libs/libgettextsrc_la-format-librep.o .libs/libgettextsrc_la-format-scheme.o 
.libs/libgettextsrc_la-format-java.o .libs/libgettextsrc_la-format-csharp.o 
.libs/libgettextsrc_la-format-awk.o .libs/libgettextsrc_la-format-pascal.o 
.libs/libgettextsrc_la-format-ycp.o .libs/libgettextsrc_la-format-tcl.o 
.libs/libgettextsrc_la-format-perl.o .libs/libgettextsrc_la-format-perl-brace.o 
.libs/libgettextsrc_la-format-php.o .libs/libgettextsrc_la-format-gcc-internal.o 
.libs/libgettextsrc_la-format-gfc-internal.o .libs/libgettextsrc_la-format-qt.o 
.libs/libgettextsrc_la-format-qt-plural.o .libs/libgettextsrc_la-format-kde.o 
.libs/libgettextsrc_la-format-kde-kuit.o .libs/libgettextsrc_la-format-boost.o 
.libs/libgettextsrc_la-format-lua.o .libs/libgettextsrc_la-format-javascript.o 
.libs/libgettextsrc_la-read-desktop.o ../woe32dll/.libs/libgettextsrc_la-gettextsrc-exports.o 
-L/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/intl/.libs 
../gnulib-lib/.libs/libgettextlib.dll.a 
-L/home/admin/l64/.build/i686-nptl-linux-gnu/buildtools/lib /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/intl/.libs/libintl.dll.a 
-lncurses ../intl/.libs/libintl.dll.a /home/admin/l64/.build/i686-nptl-linux-gnu/buildtools/lib/libiconv.dll.a 
-L/usr/lib/gcc/x86_64-pc-cygwin/5.4.0 
-L/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/lib/../lib 
-L/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../lib -L/lib/../lib 
-L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/lib 
-L/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../.. -lstdc++ -lgcc_s -lgcc 
-lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32 -lgcc_s -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/crtend.o -g -O2 
-Wl,--export-all-symbols -Wl,--disable-auto-import -o .libs/cyggettextsrc-0-19-6.dll 
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libgettextsrc.dll.a 

[ALL ] .libs/libgettextsrc_la-libexpat-compat.o: In function `is_XML_LARGE_SIZE_ABI': 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:74: undefined reference to `XML_GetFeatureList' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:74:(.text+0x28): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_GetFeatureList' 
[ALL ] .libs/libgettextsrc_la-libexpat-compat.o: In function `rpl_XML_GetCurrentLineNumber': 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:90: undefined reference to `XML_GetCurrentLineNumber' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:90:(.text+0x96): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_GetCurrentLineNumber' 
[ALL ] .libs/libgettextsrc_la-libexpat-compat.o: In function `rpl_XML_GetCurrentColumnNumber': 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:99: undefined reference to `XML_GetCurrentColumnNumber' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/libexpat-compat.c:99:(.text+0xb6): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_GetCurrentColumnNumber' 
[ALL ] .libs/libgettextsrc_la-format-kde-kuit.o: In function `format_parse': 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:236: undefined reference to `XML_ParserCreate' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:236:(.text+0x27d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_ParserCreate' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:244: undefined reference to `XML_SetElementHandler' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:244:(.text+0x29f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_SetElementHandler' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:248: undefined reference to `XML_Parse' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:248:(.text+0x2b8): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_Parse' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:258: undefined reference to `XML_Parse' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:258:(.text+0x2d3): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_Parse' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:269: undefined reference to `XML_ParserFree' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:269:(.text+0x2eb): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_ParserFree' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:261: undefined reference to `XML_GetErrorCode' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:261:(.text+0x4ec): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_GetErrorCode' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:261: undefined reference to `XML_ErrorString' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:261:(.text+0x4f3): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `XML_ErrorString' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:264: undefined reference to `XML_ParserFree' 
[ALL ] /home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src/format-kde-kuit.c:264:(.text+0x52a): additional relocation overflows omitted from the output 


[ERROR] collect2: error: ld returned 1 exit status 
[ERROR] make[6]: *** [Makefile:2388: libgettextsrc.la] Error 1 
[ALL ] make[6]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src' 
[ERROR] make[5]: *** [Makefile:2300: all] Error 2 
[ALL ] make[5]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools/src' 
[ERROR] make[4]: *** [Makefile:1742: all-recursive] Error 1 
[ALL ] make[4]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools' 
[ERROR] make[3]: *** [Makefile:1608: all] Error 2 
[ALL ] make[3]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin/gettext-tools' 
[ERROR] make[2]: *** [Makefile:380: all-recursive] Error 1 
[ALL ] make[2]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin' 
[ERROR] make[1]: *** [Makefile:336: all] Error 2 
[ALL ] make[1]: Leaving directory '/home/admin/l64/.build/i686-nptl-linux-gnu/build/build-gettext-host-x86_64-build_unknown-cygwin' 
[ERROR] 
[ERROR] >> 

[ERROR] >> Build failed in step 'Installing gettext for host' 
[ERROR] >>  called in step '(top-level)' 
[ERROR] >> 
[ERROR] >> Error happened in: CT_DoExecLog[scripts/[email protected]] 
[ERROR] >>  called from: do_gettext_backend[scripts/build/companion_libs/[email protected]] 
[ERROR] >>  called from: do_gettext_for_host[scripts/build/companion_libs/[email protected]] 
[ERROR] >>  called from: do_companion_libs_for_host[scripts/build/[email protected]] 
[ERROR] >>  called from: main[scripts/[email protected]] 
[ERROR] >> 
[ERROR] >> For more info on this error, look at the file: 'build.log' 

[UPDATE2]填写了所有日志之前“collect2:错误:LD返回1个退出状态”

1)构建日志显示,“建筑和安装gettext的模块构建”成功,但“构建和安装gettext模块的主机”时出现故障 - 由于构建和主机架构相同,x86/cygwin可能会有什么不同?我是否缺少任何配置设置? 2)如果有人得到最近cygwin发布的linux 64/32bit目标的crosstool-ng,请分享详细的步骤或链接。

[UPDATE3]

正如我去任何地方试图crosscompile为Linux(Ubuntu的)我试图臂未知-Linux的gnueabi和ARMv7-rpi2-Linux的gnueabihf目标,cygwin的可产生横对于两个目标来说,这两个玩家都很好。奇怪的是,在Cygwin中针对32位和64位纯Linux目标的交叉编译器生成失败。我可能错过了一些微不足道的东西。

[/ UPDATE3]

任何人士(86/i686的)最近成功_linux目标请分享您的步骤或环节。

+0

['ERROR]之前的任何日志collect2:错误:ld返回1退出状态? – matzeri

+0

@matzeri:之前没有错误。我已更新该帖子以在链接器命令之后包含所有日志。 – sith

+0

未定义的引用'XML_GetFeatureList'是错误。您需要将您的库链接到提供该simbol的库。它可以是一个外部库。 – matzeri

回答

0

的未定义的符号(XML_GetFeatureList XML_GetCurrentLineNumber XML_GetCurrentColumnNumber XML_ParserCreate XML_SetElementHandler XML_Parse XML_ParserFree XML_GetErrorCode XML_ErrorString)在外籍-2.1.0.tar定义 - 一个单独的包。我不能得到那个链接到的crosstool建立,但我过去的gettext链接错误由移除从config文件

CT_EXPAT=y 
CT_EXPAT_NEEDED=y 
CT_EXPAT_VERSION="2.1.0" 
CT_EXPAT_V_2_1_0=y 
0

我有同样的问题,下面,但使用不同的配置:

build = x86_64-unknown-cygwin 
host = x86_64-w64-mingw32 
target = x86_64-pc-linux-gnu 

I could not get that to link into the crosstool builds but I got past the gettext linker error by removing the following from the .config file

我通过从.config中删除expat行来获得gettext链接。但是 只会在稍后出现“native gdb”的配置错误。

[EXTRA] Building native gdb 
[ERROR] configure: error: expat is missing or unusable