交叉编译工具链的安装配置
iperf 交叉编译

iperf 是一个网络性能测试工具,用于测量 TCP 和 UDP 的网络带宽。
在交叉编译iperf 时,您需要确保已经安装了交叉编译所需的工具和库。
1.安装交叉编译工具链:您需要安装适用于目标平台的交叉编译工具链,这些
工具链包括编译器、链接器和其它必要的工具。
2.配置 iperf:使用 configure 脚本配置 iperf,指定交叉编译工具链的路
径。
例如:
3.编译 iperf:使用 make 命令编译 iperf。
例如:
4.安装 iperf:将编译好的 iperf 安装到目标系统上。
例如:
请注意,以上步骤只是一个概述,具体的交叉编译过程可能会因您的系统和目标平台而有所不同。
确保仔细阅读 iperf 的文档,并根据您的具体需求进行相应的配置和调整。
交叉编译gdb使用

交叉编译gdb使用交叉编译GDB(GNU Debugger)通常用于在一个平台上生成适用于另一个平台的GDB 可执行文件。
这可能在嵌入式系统或不同体系结构的开发环境中很常见。
以下是一个基本的交叉编译GDB 的步骤:1. 准备交叉编译工具链:-获取并安装适用于目标平台的交叉编译工具链。
这包括交叉编译器、交叉链接器等。
这通常由目标平台的供应商提供。
2. 获取GDB 源码:-下载GDB 的源代码3. 配置GDB 交叉编译:-执行`configure` 脚本时,使用`--target` 选项指定目标平台,并通过`--host` 选项指定主机平台。
例如:```bash./configure --target=your_target_arch --host=your_host_arch --prefix=your_installation_path```其中,`your_target_arch` 是目标平台的体系结构(例如arm-linux-gnueabihf),`your_host_arch` 是主机平台的体系结构(例如x86_64-linux-gnu),`your_installation_path` 是GDB 的安装路径。
4. 编译和安装:-运行`make` 编译GDB,并使用`make install` 安装生成的GDB 可执行文件。
```bashmakemake install```5. 使用交叉编译GDB:-使用交叉编译生成的GDB 进行远程调试或与目标平台交互。
在使用GDB 时,确保使用正确的目标体系结构和调试符号文件。
```bashyour_installation_path/bin/your_target_arch-gdb your_program```请注意,这只是一个简单的步骤示例,实际的交叉编译过程可能会更复杂,具体取决于目标平台和你的开发环境。
确保查阅GDB 文档和目标平台的文档以获取详细的说明。
linux安装配置交叉编译器arm-linux-gnueabi-gcc

linux安装配置交叉编译器arm-linux-gnueabi-gcc要使我们在x86架构下运⾏的程序迁移⾄ARM架构的开发板中运⾏时,需要通过交叉编译器将x86下编写的程序进⾏编译后,开发版才能运⾏。
在安装之前我们需要了解,什么是。
⼀、下载交叉编译器1.新版本的下载⼊⼝如下图所⽰:下载流程如下所⽰:“GNU Toolchain Integration Builds → 11.0-2021.03-1 → arm-linux-gnueabihf → gcc-linaro-11.0.1-2021.03-x86_64_arm-linux-gnueabihf.tar.xz。
”注意:随着时间的不同可能版本号有所变化,不过下载流程应给是⼀样的,除⾮⽹站的变化很⼤。
2.历史版本下载⼊⼝如下图所⽰:下载流程如下所⽰:“View Releases → components → toolchain → binaries → 6.2-2016.11 → arm-linux-gnueabihf → gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz”⼆、安装交叉编译器进⼊linux系统,在/usr/local下创建arm⽂件,将下载的交叉编译⼯具链拷贝到linux系统的/usr/local/arm路径下,并进项解压,如下图所⽰:三、设置环境变量打开/etc/profile⽂件sudo vim /etc/profile在⽂件的最后⼀⾏添加交叉编译链的路径,完成后保存退出export PATH=$PATH:/usr/local/arm/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin如下图所⽰:重新加载环境变量的配置⽂件source /etc/profile检验是否安装成功arm-linux-gnueabihf-gcc -v如果出现以下信息说明安装成功。
交叉编译基本流程

交叉编译基本流程交叉编译是指在一个操作系统上编译出在另一个操作系统上运行的程序的过程。
在嵌入式系统中,常常需要在一个宿主机操作系统上开发和编译出在目标嵌入式操作系统上运行的应用程序。
交叉编译的基本流程如下:1.选择交叉编译工具链:首先需要选择适合于目标平台的交叉编译工具链。
工具链是一系列的编译器、链接器、调试器和库文件的集合,用于将代码从源平台编译成目标平台可执行文件的工具。
2.配置编译环境:在主机上配置相应的编译环境,包括设置环境变量、安装交叉编译工具链和相关的依赖项等。
这些步骤可以根据具体的工具链和宿主系统进行调整。
3.编写交叉编译工具链的配置文件:交叉编译工具链通常需要一个配置文件来指定工具链的路径和使用的交叉编译器的参数等相关信息。
一般情况下,这个配置文件被称为Makefile或CMakeLists.txt。
4.编写或调整应用程序的Makefile:在项目的根目录下创建一个Makefile文件来规定应用程序的编译和链接规则。
Makefile包含了目标文件、编译选项、链接选项等信息,用于自动化编译过程。
5.交叉编译应用程序:通过在主机上运行命令来触发交叉编译过程。
命令通常会调用交叉编译工具链中的编译器来编译源代码,并生成目标平台上的可执行文件。
编译过程中可能需要指定交叉编译器的路径、头文件和库文件路径等。
6.测试和调试:将交叉编译生成的可执行文件烧录到目标平台,并在目标平台上进行测试和调试。
如果出现问题,可以通过编写并运行调试程序、打印调试信息等方式来调试并分析问题的原因。
交叉编译的好处是节省开发时间和提高效率。
使用交叉编译可以将开发工作集中在宿主机上,而不需要在嵌入式设备上进行编译,从而加快开发速度。
此外,使用交叉编译还可以充分利用宿主机的计算资源,实现更好的编译性能。
然而,交叉编译也存在一些挑战。
首先,由于主机和目标平台的硬件、操作系统和架构等不同,可能会导致一些兼容性问题和平台相关的限制。
openldap 交叉编译

openldap 交叉编译
交叉编译 OpenLDAP 通常意味着在一种类型的操作系统上为另一种类型的操作系统编译 OpenLDAP。
例如,你可能在 Linux 上为 Windows 交叉编译 OpenLDAP,或者在 x86 上为 ARM 交叉编译。
下面是一个简单的步骤,描述如何在 Linux 上为 Windows 交叉编译OpenLDAP:
1. 安装交叉编译工具链:
你需要一个 Windows 交叉编译工具链。
例如,MinGW-w64 或 Cygwin。
2. 获取 OpenLDAP 源码:
你可以从 OpenLDAP 的官方网站或其 GitHub 仓库获取最新的源码。
3. 配置交叉编译:
使用 `configure` 脚本时,你需要指定交叉编译工具链的路径。
例如:
```bash
./configure --host=i686-w64-mingw32 --
prefix=/path/to/windows/directory
```
4. 编译与安装:
使用 `make` 和 `make install` 命令来编译和安装 OpenLDAP。
5. 测试:
在 Windows 上测试编译的 OpenLDAP,确保它正常工作。
注意:上述步骤是一个非常简化的过程。
在实际操作中,你可能需要处理更多的细节和问题。
确保在开始之前详细阅读 OpenLDAP 的官方文档和交叉编译的相关资料。
setuptools 交叉编译

setuptools 交叉编译
交叉编译是指在一个平台上生成另一个平台上的可执行文件。
对于Python的setuptools来说,交叉编译涉及到将Python代码和依赖项打包为适合目标平台的二
进制格式。
要在目标平台上交叉编译Python代码,你需要确保目标平台上有交叉编译工具链和
必要的依赖项。
下面是一个基本的交叉编译过程:
1.安装交叉编译工具链:你需要为目标平台安装交叉编译工具链。
这通常包括编译器、
链接器和其他必要的工具。
2.安装Python:确保目标平台上已经安装了Python解释器。
3.创建setup.py文件:在你的Python项目中,创建一个setup.py文件,该文件将用于
构建和安装你的项目。
4.编写setup.py文件:在setup.py文件中,你需要指定交叉编译选项和目标平台的相
关信息。
例如,你可以设置编译器、链接器和目标架构等选项。
5.运行setup.py:在源代码目录中运行以下命令来构建和安装你的项目:
python
python setup.py build --cross-compile
python setup.py install --cross-compile
这将使用交叉编译工具链来构建你的项目,并将生成的二进制文件安装到目标平台上。
需要注意的是,交叉编译可能会涉及到一些复杂的配置和依赖项管理。
具体的步骤可能因目标平台和项目而有所不同。
arm-linux-gcc交叉编译工具链安装

arm-linux-gcc交叉编译工具链安装
陈伟
解压arm-linux-gcc-3.4.1.tar.bz2
#tar zxvf arm-linux-gcc-3.4.1.tar.bz2
1.解压过程需要一段时间,解压后的文件形成了usr/local/ 文件夹,
进入该文件夹,将arm文件夹拷贝到/usr/local/下
#cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
2.修改环境变量,把交叉编译器的路径加入到PATH。
修改~/.bashrc文件,编辑.bash_profile也行
#vim ~/.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin export PATH
也可以:
#export PATH=$PATH:/usr/local/arm/3.4.1/bin
注:(这只能在当前的终端下才是有效的!)
3.立即使新的环境变量生效,不用重启电脑:
#source /root/.bashrc
4.检查是否将路径加入到PATH:
# echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。
至此,交叉编译环境安装完成。
5. 测试是否安装成功
# arm-linux-gcc -v。
arm-linux-gcc交叉工具链的安装和使用

arm-linux-gcc交叉工具链的安装和使用分类:linux内核工具使用2013-01-18 01:01 2295人阅读评论(0) 收藏举报1、安装arm-linux-gcc交叉工具链[root@localhost Denny]# lsarm-linux-gcc-4.3.2.tgz Desktop gcc kernel modules shell实验 smb.conf tftp安装包 wireshark软件包at_remind.c file gdb makefiles samba安装包 smb test wireless[root@localhost Denny]# tar zxvf arm-linux-gcc-4.3.2.tgz-C / // -C 参数指的是解压到根目录下面[root@localhost /]# cd /usr/local/[root@localhost local]# lsarm bin etc games include lib libexec sbin share src[root@localhost local]# cd arm/4.3.2/arm-none-linux-gnueabi/bin/ lib/ libexec/ share/[root@localhost local]# cd arm/4.3.2/bin/ // 安装在 /usr/local/arm/4.3.2/bin/ 的“bin”目录下面[root@localhost bin]#[root@localhost bin]# /usr/local/arm/4.3.2/bin/arm-linux-gcc // arm-linux-gcc 使用方法1:跟上“全路径”[[root@localhost bin]# echo $PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bi n:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin[root@localhost bin]# export $PATHbash: export:`/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/b in:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin': not a valid identifier[root@localhost bin]# vi /etc/proprofile profile.d/ protocols[root@localhost bin]# vi /etc/profile // arm-linux-gcc 使用方法2:添加路径到环境变量中去,在系统的时候就可以“任何地方”使用 arm-linux-gcc[root@localhost bin]## Path manipulationif [ "$EUID" = "0" ]; thenpathmunge /sbinpathmunge /usr/sbinpathmunge /usr/local/sbinpathmunge /usr/local/arm/4.3.2/bin //环境变量添加的位置fi[root@localhost file]# cat hello.c#include <stdio.h>int main(){char *p="hello world!!";printf("%s:",*p); // 错误:字符串的输出 printf("%s:",p); 不用加*p(字符串指针),和其他指针不同return 0;}[root@localhost file]# vi hello.c[root@localhost file]# gcc hello.c -o hello // x86编译方式[root@localhost file]# ./hello // 在x86上能够运行hello world!!:[root@localhost file]# arm-linux-gcarm-linux-gcc arm-linux-gcc-4.3.2 arm-linux-gcov[root@localhost file]# arm-linux-gcc hello.c -o hello1 // ARM编译方式[root@localhost file]# lsfork hello hello1 hello.c lib_file sys_file time_file[root@localhost file]# ./hello1 // 在x86上不能够运行bash: ./hello1: cannot execute binary file[root@localhost file]#2、arm-linux-gcc交叉编译工具的使用今晚用了:arm-linux-objdump -S -D hello 反汇编指令时,遇到以下提示的错误:arm-linux-objdump: Can't disassemble for architecture UNKNOWN!现在还不知道是什么错误引起的,等着明天再解决了!!!!!!!原因是:由于上面用了“gcc hello.c -o hello x86编译方式” 和“arm-linux-gcc hello.c -o hello1 ARM编译方式”产生了hello 和hello1 对应不同平台的文件,当然用“arm-linux-objdump -S -D hello”用arm反汇编指令对x86平台产生的bin文件进行反汇编,肯定出现错误(1)、反汇编arm-linux-objdump 使用[root@localhost file]arm-linux-objdump -S -D helloarm-linux-objdump: Can't disassemble for architecture UNKNOWN![root@localhost file]# lsfork hello hello1 hello.c lib_file sys_file time_file // hello 是x86编译出来的,hello1是arm编译出来的[root@localhost file]# arm-linux-gcc -g hello.c -o hello1 // -g编译产生带有调试的信息的文件(反汇编后:c语言才能和汇编语言对应上)[root@localhost file]# arm-linux-objdump -D -S hello1 >log[root@localhost file]# lsfork hello hello1 hello.c lib_file log sys_file time_file[root@localhost file]# vi log // 查看对应的文件如下00008380 <main>:#include <stdio.h>int main(){8380: e92d4800 push {fp, lr}8384: e28db004 add fp, sp, #4 ; 0x48388: e24dd008 sub sp, sp, #8 ; 0x8char *p="hello world!!";838c: e59f3020 ldr r3, [pc, #32] ; 83b4 <main+0x34>8390: e50b3008 str r3, [fp, #-8]printf("%s:",p);8394: e59f001c ldr r0, [pc, #28] ; 83b8 <main+0x38>8398: e51b1008 ldr r1, [fp, #-8]839c: ebffffc7 bl 82c0 <_init+0x48>return 0;83a0: e3a03000 mov r3, #0 ; 0x0}(2)arm-linux-readelf 文件查看工具[root@localhost file]# arm-linux-readelf -a hello1 >logELF Header: //主要查看这个头文件Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00Class: ELF32Data: 2's complement, little endian //采用的是小端模式(程序运行不起来,硬件平台是打断格式,交叉工具链是小端格式)Version: 1 (current)OS/ABI: UNIX - System VABI Version: 0Type: EXEC (Executable file)Machine: ARM //程序运行在ARM平台上Version: 0x1Entry point address: 0x82ccStart of program headers: 52 (bytes into file)Start of section headers: 2488 (bytes into file)Flags: 0x5000002, has entry point, Version5 EABISize of this header: 52 (bytes)Size of program headers: 32 (bytes)Number of program headers: 8Size of section headers: 40 (bytes)Number of section headers: 37Section header string table index: 34[root@localhost file]# arm-linux-readelf -d hello1 // -d 指的是查看程序所用的共享链接库Dynamic section at offset 0x470 contains 24 entries:Tag Type Name/Value0x00000001 (NEEDED) Shared library: [libc.so.6] // 程序所用到的共享链接库(程序运行不起来,可能找不到共享链接库,把所需要的库考到路径下)0x0000000c (INIT) 0x82780x0000000d (FINI) 0x84340x00000019 (INIT_ARRAY) 0x104640x0000001b (INIT_ARRAYSZ) 4 (bytes)0x0000001a (FINI_ARRAY) 0x104680x0000001c (FINI_ARRAYSZ) 4 (bytes)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交叉工具链的生成/uid-9185047-id-3158569.html软件平台:ubuntu 10.10主机编译器:gcc 4.5.1硬件平台:s3c24101、准备环境sudo apt-get install bison flex texinfo automake libtool cvs patch libncurses5-dev aria2 curl g++ subversion gawk cvsd expat gperf libexpat-dev注:有的没安装,第4步无法生成makefile,要先安装gperf2、下载crosstool-ng软件包crosstool-ng-1.17.0.tar.bz23、相应目录的建立sudo mkdir -p /usr/local/armsudo chmod 777 /usr/local/arm // 将arm目录权限设置为777cd /usr/local/armmkdir 4.7.2sudo mkdir -p /home/crosstoolcd /home/s3c2410/crosstoolsudo mkdir crosstool-build crosstool-install src-4.7.2(编译目录、安装目录、目标源码目录)4、安装crosstool-ngcp crosstool-ng-1.17.0.tar.bz2 /home/s3c2410/crosstool/解压crosstool-ng-1.17.0.tar.bz2,tar -xvf crosstool-ng-1.17.0.tar.bz2进入目录,进行配置:cd /home/s3c2410/crosstool/crosstool-ng-1.17.0将/home/s3c2410/crosstool/crosstool-install/lib/ct-ng.1.17.0/下的p cp到/etc/bash_completion.d配置安装目录为/home/s3c2410/crosstool/crosstool-install注:有的没安装gperf,无法生成makefile,要先安装gperfsudo ./configure --prefix=/home/crosstool/crosstool-installsudo make --编译sudo make install --安装5、配置编译的交叉编译工具链cd /home/s3c2410/crosstool/crosstool-build --进入编译目录cp/home/s3c2410/crosstool/crosstool-ng-1.17.0/samples/arm-unknown-linu x-gnueabi/* ./sudo cp crosstool.config .config --把crosstool-config --当作默认的配置文件sudo /home/crosstool/crosstool-install/bin/ct-ng menuconfig --图形界面进行配置,若该句无法执行可能是终端窗口太小弹出以下菜单,此菜单主要用于交叉编译工具链的环境配置。
Paths and misc options --->(/home/crosstool/src-4.7.2) Local tarballs directory --目标源码目录(/usr/local/arm/4.7.2) Prefix directory --最后生成的交叉编译工具链存放的目录(2) Number of parallel jobs --主机是双核处理器的可以选2 另一说双核写4,我写的4Target options --->(armv4t) Architecture level(arm9tdmi) Emit assembly for CPU(arm920t) Tune for CPU(vfp) Use specific FPUToolchain options --->(unknown) Tuple's vendor string这里可以设置个性化,不填就是unknow,可以设置自己的个性名如填“doc”,这样产生的编译器前缀就是:arm-doc-linux-gnueabi-Operating System --->Linux kernel version (3.6.3) --->linux-3.6.11.tar.xz/ linux-3.6.3.tar.xz/linux-3.7.2.tar.bz2下面这些与目标源码有关:Binary utilities --->binutils version (2.21.1a) --->binutils-2.21.1a.tar.bz2/binutils-2.21.1.tar.bz2/binutils-2.22.tar.bz2/ binutils-2.23.1.tar.bz2C compiler --->gcc version (4.7.2) --->gcc-4.7.2.tar.bz2/ gcc-4.5.2.tar.bz2[ ] Fortran[ ] Java无法直接修改的,可以在最后手动从 .config 中加“#”屏蔽C-library --->glibc version (2.14.1) --->glibc-2.15.tar.bz2/glibc-2.14.1.tar.bz2/glibc-linuxthreads-2.1.2.tar.gzglibc-2.1.2.tar.gz/ glibc -2.16.0.tar.xzglibc-ports-2.16.0.tar.gz/ glibc-ports-2.14.1.tar.xz [*] Force unwind support (READ HELP!)Debug facilities --->[ ] gdb --->Companion libraries --->GMP version (5.0.2) --->gmp-5.0.2.tar.bz2/ gmp-5.1.1.tar.bz2MPFR version (3.1.0) --->mpfr-3.1.0.tar.xz/ mpfr-3.1.2.tar.xz/ mpfr-3.1.2.tar.bz2 PPL version (0.11.2) --->ppl-0.11.2.tar.bz2/ ppl-1.0.tar.bz2/ ppl-1.0.tar.xz CLooG/ppl version (0.15.11) --->cloog-ppl-0.15.11.tar.gzMPC version(0.9)--->mpc-0.9.tar.gz/ mpc-1.0.1.tar.gz/ mpc-2.4.1.tar.gz libelf version (0.8.13) --->libelf-0.8.13.tar.gz保存退出。
vi .config前面无法在设置窗口中设置java和fortran的,用“#”将所有带JA V A 和FORTRAN的屏蔽在CT_MPFR=y后面增加一行CT_MPC=y在CT_MPFR_VERSION="3.1.0"后面增加两行CT_MPC_V_0_8_13=yCT_MPC_VERSION="0.8.13"保存退出。
注:若编译失败再次用菜单图形化设置后,注意查看.config之前修改的内容是否还原了,最好在查看一次。
6、编译交叉工具链编译的时候会自动下载下面的软件包,也可以自己先下载好放在src-4.5.1目录下,这样编译的是时候就比较快了。
linux-3.6.11.tar.xz/ linux-3.6.3.tar.xz/linux-3.7.2.tar.bz2binutils-2.21.1a.tar.bz2/ binutils-2.21.1.tar.bz2/binutils-2.22.tar.bz2/ binutils-2.23.1.tar.bz2 glibc-2.15.tar.bz2/glibc-2.14.1.tar.bz2/glibc-linuxthreads-2.1.2.tar.gz glibc-2.1.2.tar.gz/ glibc -2.16.0.tar.xzglibc-ports-2.16.0.tar.gz/ glibc-ports-2.14.1.tar.xzlibelf-0.8.13.tar.gzgcc-4.7.2.tar.bz2mpfr-3.1.0.tar.xz/ mpfr-3.1.2.tar.xz/ mpfr-3.1.2.tar.bz2gmp-5.0.2.tar.bz2/ gmp-5.1.1.tar.bz2mpc-0.9.tar.gz/ mpc-1.0.1.tar.gz/ mpc-2.4.1.tar.gzppl-0.11.2.tar.bz2/ ppl-1.0.tar.bz2/ ppl-1.0.tar.xzcloog-ppl-0.15.11.tar.gz//没能自动下载成功的,解决方法:自己网上搜索下载后放到/home/s3c2410/crosstool/src-4.5.1下即可。
duma_2_5_15.tar.gz/ duma_2_5_15.zipstrace-4.7.tar.bz2expat-2.1.0.tar.gzltrace_0.5.3.orig.tar.gz/ ltrace_0.3.10. tar.gzncurses-5.8.tar.gz/ ncurses-5.9.tar.gzdmalloc-5.5.2.tgz/ dmalloc-5.4.2.tgz在终端执行sudo /home/s3c2410/crosstool/crosstool-install/bin/ct-ng build --开始编译expat文件的问题,由于事先已经下载的相关文件存放在资源目录中,所以,应该是下载文件问题。
因此,将资源目录下的该文件删除,让安装软件自己去下载。
root@ubuntu:/home/sdust/crosstool/crosstool-build#root@ubuntu:/home/sdust/crosstool/crosstool-build# rm ../src5/exp* root@ubuntu:/home/sdust/crosstool/crosstool-build# ls ../src5/e* [ERROR] configure: error: expat is missing or unusable[ERROR] make[2]: *** [configure-gdb] Error 1[ALL ] make[2]: Leaving directory `/home/andy/crosstool-ng/build13/.build/mipsel-ls2f-linux-gnu/build/build-gdb-cross' [ERROR] make[1]: *** [all] Error 2[ALL ] make[1]: Leaving directory`/home/andy/crosstool-ng/build13/.build/mipsel-ls2f-linux-gnu/build/build-gdb-cross' [ERROR][ERROR] >>[ERROR] >> Error happened in: main[scripts/crosstool-NG.sh][ERROR] >>[ERROR] >> For more info on this error, look at the file: 'build.log'[ERROR] >> There is a list of known issues, some with workarounds, in:[ERROR] >> '/home/andy/crosstool-ng/install/share/doc/ct-ng-1.13.0/B - Known issues.txt'[ERROR][ERROR] Build failed in step 'Extracting and patching toolchain components'一开始以为是没有装expat,sudo apt-get install expat后发现该软件已经装好,到/usr/lib目录下并没有发现libexpat.so文件,到网上查了下也没有相关的信息。