交叉编译perl,arm交叉编译perl的方法和记录arm perl

2019-07-12 22:34发布

在嵌入式ram上面交叉编译perl 5.10.1,嵌入式编译perl脚本语言的记录和方法:

  1. 先下载Perl源码:https://www.perl.org/get.html , 下载版本是5.10.1
  2. 下载Perl交叉编译源码补丁: https://sourceforge.net/projects/perlcross.berlios/files/, 下载版本是:perl-5.10.0-cross-0.3.tar.gz
  3. 分别解压连个文件到同一个目录下;
  4. 在ubuntu中安装 perlbrew: sudo apt-get install perlbrew perlbrew init source ~/perl5/perlbrew/etc/bashrc perlbrew install perl-5.10.1 等待perlbrew安装完毕;
  5. 合并 两个解压出来的perl目录,进入perl-5.10.1的Cross目录中: cp -rfv perl-5.10.0/* perl-5.10.1/ cd perl-5.10.1/Cross
  6. 修改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 上面加粗字体表示注意的或者修改的;
  7. 修改当前目录(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
  1. make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch
  2. make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl
  3. 编译会出错,但是没关系,会在根目录生成perl可执行文件;
可以参考文章: http://www.taodocs.com/p-1474490.html