【问题】
折腾:
【记录】Ubuntu下用crosstool-ng为xscale建立交叉编译器arm-xscale-linux-gnueabi-gcc
期间,编译出错:
[INFO ] Installing kernel headers: done in 972.34s (at 39:34) [EXTRA] Saving state to restart at step 'libc_start_files'... [INFO ] ================================================================= [INFO ] Installing C library headers & start files [EXTRA] Configuring C library [EXTRA] Installing C library headers [EXTRA] Installing C library start files [INFO ] Installing C library headers & start files: done in 23.14s (at 40:02) [EXTRA] Saving state to restart at step 'cc_core_pass_2'... [INFO ] ================================================================= [INFO ] Installing pass-2 core C compiler [EXTRA] Configuring gcc [EXTRA] Building gcc [EXTRA] Installing gcc [INFO ] Installing pass-2 core C compiler: done in 297.35s (at 45:04) [EXTRA] Saving state to restart at step 'libc'... [INFO ] ================================================================= [INFO ] Installing C library [EXTRA] Configuring C library [EXTRA] Building C library [EXTRA] Installing C library [INFO ] Installing C library: done in 286.37s (at 49:56) [EXTRA] Saving state to restart at step 'cc_for_build'... [EXTRA] Saving state to restart at step 'cc_for_host'... [INFO ] ================================================================= [INFO ] Installing final compiler [EXTRA] Configuring gcc [EXTRA] Building gcc [EXTRA] Installing gcc [INFO ] Installing final compiler: done in 377.10s (at 56:25) [EXTRA] Saving state to restart at step 'libelf_for_target'... [INFO ] ================================================================= [INFO ] Installing libelf for the target [EXTRA] Configuring libelf [EXTRA] Building libelf [EXTRA] Installing libelf [INFO ] Installing libelf for the target: done in 3.99s (at 56:42) [EXTRA] Saving state to restart at step 'binutils_for_target'... [INFO ] ================================================================= [INFO ] Installing binutils for target [EXTRA] Configuring binutils for target [EXTRA] Building binutils' libraries (libiberty bfd) for target [EXTRA] Installing binutils' libraries (libiberty bfd) for target [INFO ] Installing binutils for target: done in 44.91s (at 57:40) [EXTRA] Saving state to restart at step 'debug'... [INFO ] ================================================================= [INFO ] Installing dmalloc [EXTRA] Configuring dmalloc [EXTRA] Building dmalloc [EXTRA] Installing dmalloc [INFO ] Installing dmalloc: done in 6.77s (at 57:59) [INFO ] ================================================================= [INFO ] Installing cross-gdb [EXTRA] Configuring cross-gdb [EXTRA] Building cross-gdb [ERROR] configure: error: expat is missing or unusable [ERROR] make[2]: *** [configure-gdb] Error 1 [ERROR] make[1]: *** [all] Error 2 [ERROR] [ERROR] >> [ERROR] >> Build failed in step 'Installing cross-gdb' [ERROR] >> called in step '(top-level)' [ERROR] >> [ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257] [ERROR] >> called from: do_debug_gdb_build[scripts/build/debug/300-gdb.sh@177] [ERROR] >> called from: do_debug[scripts/build/debug.sh@35] [ERROR] >> called from: main[scripts/crosstool-NG.sh@632] Current command: 'make' '-j4' '-l' exited with error code: 2 Please fix it up and finish by exiting the shell with one of these values: 1 fixed, continue with next build command 2 repeat this build command 3 abort build ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-gdb-cross>
即:
在:
Installing cross-gdb
时,出错:
configure: error: expat is missing or unusable |
【解决过程】
1.参考:
How To: Build a Custom Toolchain Using Crosstool-ng
去搜一把:
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ apt-cache search expat expat - XML parsing C library - example application libexpat1 - XML parsing C library - runtime library libexpat1-dev - XML parsing C library - development kit libneon27 - HTTP and WebDAV client library libneon27-gnutls - HTTP and WebDAV client library (GnuTLS enabled) libxml-parser-perl - Perl module for parsing XML files libxml-sax-expat-perl - Perl module for a SAX2 driver for Expat (XML::Parser) libxml-sax-perl - Perl module for using and building Perl SAX2 XML processors lib64expat1 - XML parsing C library - runtime library (64bit) lib64expat1-dev - XML parsing C library - development kit (64bit) libexpat-gst - Expat bindings for GNU Smalltalk libexpat-ocaml - OCaml expat bindings libexpat-ocaml-dev - OCaml expat bindings libidzebra-2.0-mod-grs-xml - IDZebra filter grs.xml (XML filter) libnode-node-expat - fast XML parser library for Node libnode-node-xmpp - idiomatic XMPP library for Node libxml-rss-libxml-perl - module for creating, parsing, updating RSS files with XML::LibXML libxml-sax-expat-incremental-perl - XML::SAX::Expat subclass for non-blocking (incremental) parsing libxml-sax-expatxs-perl - Perl SAX 2 XS extension to Expat parser ruby-xmlparser - Ruby interface for the expat XML parser toolkit slang-expat - S-Lang bindings for the expat XML parser tdom - A fast XML/DOM/XPath/XSLT extension for Tcl written in C tdom-dev - A fast XML/DOM/XPath/XSLT extension for Tcl written in C - development files texlive-latex-extra - TeX Live: LaTeX supplementary packages freebsd-glue - Emulate a FreeBSD build environment liblua5.1-expat-dev - Transitional package for lua-expat-dev liblua5.1-expat0 - Transitional package for lua-expat lua-expat - libexpat bindings for the Lua language lua-expat-dev - libexpat development files for the Lua language node-node-expat - fast XML parser library for Node node-node-xmpp - idiomatic XMPP library for Node crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$
2.然后再去安装那个libexpat1-dev:
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ sudo apt-get install libexpat libexpat1 libexpat1-dev libexpat-gst libexpat-ocaml libexpat-ocaml-dev crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ sudo apt-get install libexpat1-dev Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: libexpat1-dev 0 upgraded, 1 newly installed, 0 to remove and 202 not upgraded. Need to get 205 kB of archives. After this operation, 656 kB of additional disk space will be used. Get:1 http://mirrors.163.com/ubuntu/ raring/main libexpat1-dev i386 2.1.0-2 [205 kB] Fetched 205 kB in 22s (8,941 B/s) Selecting previously unselected package libexpat1-dev:i386. (Reading database ... 158288 files and directories currently installed.) Unpacking libexpat1-dev:i386 (from .../libexpat1-dev_2.1.0-2_i386.deb) ... Processing triggers for doc-base ... Processing 1 added doc-base file... Setting up libexpat1-dev:i386 (2.1.0-2) ... crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$
3.然后回去继续编译,就可以了。
【总结】
当编译crosstool-ng出现:
[ERROR] configure: error: expat is missing or unusable |
的错误时,去安装缺失的expat库:libexpat1-dev,即可:
sudo apt-get install libexpat1-dev
转载请注明:在路上 » 【已解决】Ubuntu中crosstool-ng编译出错:[ERROR] configure: error: expat is missing or unusable