编译 arm 版 perl

一. 准备工作

环境:

  • Ubuntu 16.04
  • perl-5.30.0
  • perl-cross-1.3

1.1. 下载 perl 和 perl-cross

注意: perl 和 perl-cross 的版本要对应。

我这里使用的分别是 perl-5.30.0 和 perl-cross-1.3。

perl-cross-1.3 支持的版本有 perl-5.22.4,perl-5.24.4,perl-5.26.2,perl-5.28.2,perl-5.30.0,cperl-5.24.3,cperl-5.26.1.

1.2. 安装交叉工具链

$ sudo apt install gcc-arm-linux-gnueabihf

注: 如果已经安装过工具链,可跳过该步骤。

二. 配置和编译

2.1. 解压

$ tar xf perl-5.30.0.tar.gz
$ cd perl-5.30.0
$ tar --strip-components=1 -zxf ../perl-cross-1.3.tar.gz

2.2. 编译

$ ./configure --target=arm-linux-gnueabihf

configure 成功后显示:

Configuration completed for cross build

      build platform:  x86_64-linux
          C compiler:  gcc
              linker:  gcc
                  ar:  ar
              ranlib:  ranlib
             objdump:  objdump

     target platform:  arm-linux
          C compiler:  arm-linux-gnueabihf-gcc
                  ld:  arm-linux-gnueabihf-gcc
                  ar:  arm-linux-gnueabihf-ar
              ranlib:  arm-linux-gnueabihf-ranlib
             objdump:  arm-linux-gnueabihf-objdump

              prefix:  /usr
             sysroot:  
 installation prefix:  
         executables:  /usr/bin
             scripts:  /usr/bin
             privlib:  /usr/lib/perl5/5.30.0
             archlib:  /usr/lib/perl5/5.30.0/arm-linux
 section 1 man pages:  /usr/share/man/man1  (with '1' extension)
 section 3 man pages:  /usr/share/man/man3  (with '3' extension)

拷贝 config.sh 到 Cross 目录:

$ cp config.sh Cross/config.sh-arm-linux-gnueabihf

进入 Cross 目录修改 config 文件:

$ cd Cross
$ vim config

注意: ARCH 和 OS 和上面 config.sh-arm-linux-gnueabihf 最好对应,否则后面编译时可能找不到。

### Target Arch
ARCH = arm

### Target OS
OS = linux-gnueabihf

打 patch 然后编译 perl:

$ make patch
$ make perl

make perl 后会提示失败,这里不用管它,perl-5.30.0 目录下已经生成了 perl 程序,拷贝到 arm 环境执行看下:

$ perl -v

This is perl 5, version 30, subversion 0 (v5.30.0) built for arm-linux-gnueabihf

参考

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值