当前位置:首页 » 编程软件 » 编译perl

编译perl

发布时间: 2023-09-05 08:51:51

1. 如何安装和使用perl编译

1、查看是否安装cpan软件包:
#rpm -qa |grep perl-CPAN
2、如果没有安装,则进行安装:
#yum install perl-CPAN*

3、安装完成后,则可以通过cpan来安装相应模块。比如我要安装IPC::System::Simple模块:
#cpan IPC::System::Simple
......
.....
.....

4、安装完成后,查看文档:
#perldoc IPC::System::Simple
将会列出相应的用法和说明。

linux上安装Perl模块的两种方法
Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。第一种方法是从CPAN上下载
您需要的模块,手工编译、安装。第二种方法是联上internet,使用一个叫做CPAN的模块自动完
成下载、编译、安装的全过程。

a、手工安装的步骤:

从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。
cd/usr/local/src
解压缩这个文件:
tarxvzfDBI-1.13.tar.gz
这时会新建一个DBI-1.13的目录。
cdDBI-1.13

生成makefile:
perlMakefile.PL
建立模块
make
测试模块
maketest
如果测试结果报告“alltestok”,您就可以放心地安装编译好的模块了。安装模块前,先要
确保您对perl5安装目录有可写权限(通常以su命令获得),执行:
makeinstall

现在,写个程序试试吧。

#!/usr/bin/perl-w
usestrict;
useDBI;
..


上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,
所以最好先看看安装目录里的README或INSTALL。另外,上述过程是针对动态链接的Perl编译器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将新的模块静态链接到perl编译器中,可能还需要重启机器。


b、使用CPAN模块自动安装:

安装前需要先联上线,并且您需要取得root权限。
perl-MCPAN-eshell
初次运行CPAN时需要做一些设置,如果您的机器是直接与internet相联(拨号上网、专线,etc.),
那么一路回车就行了,只需要在最后选一个离您最近的CPAN镜像站点。例如我选的是位于国内的
中国自由软件库ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN。否则,如果您的机器位于防火墙之后,还需要设置ftp代理或http代理。

获得帮助
cpan>h

列出CPAN上所有模块的列表
cpan>m
根据关键字在CPAN上查找某个模块:
cpan[1]> i /scws/
CPAN: Storable loaded ok (v2.20)
Going to read '/home/orisun/.cpan/Metadata'
Database was generated on Sat, 17 Nov 2012 08:07:03 GMT
Distribution XUERON/Text-Scws-0.01.tar.gz
Mole Text::Scws (XUERON/Text-Scws-0.01.tar.gz)
2 items found

安装模块
cpan>installDBI
自动完成DBI模块从下载到安装的全过程。

退出
cpan>q

2. 如何 在AIX中编译Perl

开源的gcc自然可以算是最佳选择。在64位平台的AIX中,如果选择运用 gcc来编译perl源代码,默认情况下是编译成32位的版本。这样在编译DBD::Oracle的时候也须要选择正确的32位库,否则不能编译成功。也可以选择将Perl编译成64位的,这样在64位平台上应该更方便些,很多依赖库的路径运用默认即可。编译成32位Perl$./Configure -des -Dprefix=/opt/perl -Dcc=gcc $make && make install 编译成64位Perl$./Configure -des -Dprefix=/opt/perl -Dcc='gcc -maix64' $make && make install 注:gcc在linux下64位编译选项为-m64,在HP-UX下64位编译选项为-mlp64。不同平台下须要编译64位程序,选用不同的选项即可。为了确认编译后的版本,可以运用 -V选项运行perl:$./perl -V Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Platform. sname=aix, svers=5.3.0.0, archname=aix-64all uname='aix dbtest 3 5 00cad8cf4c00 ' config_args='-des -Dprefix=/opt/perl -Dcc=gcc -maix64' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc -maix64 -maix64', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -maix64 -DUSE_64_BIT_ALL', ptimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe' ccversion='', gccversion='4.2.0', gccosandvers=''

3. 如何交叉编译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

  • 分别解压连个文件到同一个目录下;


  • 1

  • 在ubuntu中安装 perlbrew:

  • sudo apt-get install perlbrew
    perlbrew init
    source ~/perl5/perlbrew/etc/bashrc
    perlbrew install perl-5.10.1
  • 2

  • 3

  • 4

  • 5

  • 等待perlbrew安装完毕;


  • 2

  • 3

  • 1

  • 合并 两个解压出来的perl目录,进入perl-5.10.1的Cross目录中:

  • cp -rfv perl-5.10.0/* perl-5.10.1/
    cd perl-5.10.1/Cross


  • 2

  • 1

  • 文件内容如下注意加了星号的内容:

  • ### 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
  • 1

  • 修改perl的config文件

  • gedit Cross/config ##或者 vi gedit Cross/config
  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 上面加粗字体表示注意的或者修改的;

  • 修改当前目录(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

  • 12345678910111213141516

  • make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch

  • make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl

  • 编译会出错,但是没关系,会在根目录生成perl可执行文件;

热点内容
redis安装linux 发布:2024-11-20 02:32:25 浏览:695
vmware共享文件夹centos 发布:2024-11-20 02:20:06 浏览:272
王者安卓9区叫什么名字 发布:2024-11-20 02:06:32 浏览:989
编程仓 发布:2024-11-20 02:01:29 浏览:718
英国访问签证流程 发布:2024-11-20 01:55:13 浏览:540
mac开机问号文件夹原因 发布:2024-11-20 01:46:00 浏览:414
算法统宗一百馒头 发布:2024-11-20 01:44:01 浏览:299
育碧用的什么服务器 发布:2024-11-20 01:27:05 浏览:750
java去除字符串空格 发布:2024-11-20 01:27:04 浏览:697
python简易代码 发布:2024-11-20 01:17:41 浏览:904