交叉编译perl,arm交叉编译perl的方法和记录arm perl
2019-07-12 22:34发布
生成海报
在嵌入式ram上面交叉编译perl 5.10.1,嵌入式编译perl脚本语言的记录和方法:
- 先下载Perl源码:https://www.perl.org/get.html , 下载版本是5.10.1
- 下载Perl交叉编译源码补丁: https://sourceforge.net/projects/perlcross.berlios/files/, 下载版本是:perl-5.10.0-cross-0.3.tar.gz
- 分别解压连个文件到同一个目录下;
- 在ubuntu中安装 perlbrew:
sudo apt-get install perlbrew
perlbrew init
source ~/perl5/perlbrew/etc/bashrc
perlbrew install perl-5.10.1
等待perlbrew安装完毕;
- 合并 两个解压出来的perl目录,进入perl-5.10.1的Cross目录中:
cp -rfv perl-5.10.0/* perl-5.10.1/
cd perl-5.10.1/Cross
- 修改perl的config文件
gedit Cross/config ##或者 vi gedit Cross/config
文件内容如下注意加了星号的内容:
### Target Arch
** ARCH = arm **
#ARCH = i386-pc
#ARCH = sh4
#ARCH = mips
#ARCH = mipsel
#ARCH = ppc
## Specific arm
**#CONFIG_TARGET_ARM_SA11X0 = 1**
#CONFIG_TARGET_ARM_XSCALE = 1
### Target OS
**OS = linux**
#OS = solaris2.8
上面加粗字体表示注意的或者修改的;
- 修改当前目录(Cross目录)中的Makefile文件:
先改变一下目录内容的权限:
chmod 777 /Cross/*
修改的Makefile文件内容:
export TOPDIR=${shell pwd}
include $(TOPDIR)/config
export CFLAGS
** export SYS=arm-linux **
** export CROSS=/stuff/bitbake/bin/tmp/sysroots/i686- linux/usr/armv7a/bin/arm-angstrom-linux-gnueabi- **
** export LD_LIBRARY=/stuff/bitbake/bin/tmp/sysroots/i686-linux/usr/lib:$(LD_LIBRARY_PATH) **
export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2
export OPTIMIZATION = -O2
export CC = arm-angstrom-linux-gnueabi-gcc
export CXX = arm-angstrom-linux-gnueabi-g++
export LD = arm-angstrom-linux-gnueabi-ld
export STRIP = arm-angstrom-linux-gnueabi-strip
export AR = arm-angstrom-linux-gnueabi-ar
export RANLIB = arm-angstrom-linux-gnueabi-ranlib
- make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch
- make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl
- 编译会出错,但是没关系,会在根目录生成perl可执行文件;
可以参考文章:
http://www.taodocs.com/p-1474490.html
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮