繁体   English   中英

如何在Ubuntu 14.04上安装Perl 5.10.1?

[英]How to Install Perl 5.10.1 on Ubuntu 14.04?

根据我的要求,我必须在Ubuntu 14.04上安装Perl 5.10.1。 下载并安装该软件包时,出现以下错误,

cc -fstack-protector -L/usr/local/lib -o miniperl \
          gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  \
        miniperlmain.o opmini.o perlmini.o 
pp.o: In function `Perl_pp_pow':
pp.c:(.text+0x2daf): undefined reference to `pow'
pp.o: In function `Perl_pp_modulo':
pp.c:(.text+0x39ee): undefined reference to `floor'
pp.c:(.text+0x3a21): undefined reference to `floor'
pp.c:(.text+0x3d94): undefined reference to `fmod'
pp.o: In function `Perl_pp_atan2':
pp.c:(.text+0x8a05): undefined reference to `atan2'
pp.o: In function `Perl_pp_sin':
pp.c:(.text+0x8ba2): undefined reference to `sin'
pp.o: In function `Perl_pp_int':
pp.c:(.text+0x9061): undefined reference to `floor'
pp.c:(.text+0x90d1): undefined reference to `ceil'
pp.o:(.rodata+0x120): undefined reference to `cos'
pp.o:(.rodata+0x128): undefined reference to `sin'
pp.o:(.rodata+0x130): undefined reference to `sin'
pp.o:(.rodata+0x138): undefined reference to `exp'
pp.o:(.rodata+0x140): undefined reference to `log'
pp.o:(.rodata+0x148): undefined reference to `sqrt'
pp_pack.o: In function `S_pack_rec':
pp_pack.c:(.text+0x72b3): undefined reference to `floor'
pp_pack.c:(.text+0x72d6): undefined reference to `floor'
pp_pack.c:(.text+0x7303): undefined reference to `floor'
collect2: error: ld returned 1 exit status
make: *** [miniperl] Error 1

我尝试在文件pp.c中包括数学库<math.h> ,但没有用。 还有什么需要做的吗?

还请告诉我是否有一个工具可以转换与Perl 5.18.2兼容的Perl 5.10.1脚本,因为在我使用5.18.2进行编译时会收到向后兼容性警告。

您可以使用perlbrew ,它是管理Perl安装的程序。

  1. 使用apt-get install perlbrew作为root进行apt-get install perlbrew
  2. 通过运行perlbrew init对其进行perlbrew init
  3. source ~/perl5/perlbrew/etc/bashrc到您的.bashrc并启动新的Shell。
  4. 使用perlbrew install perl-5.10.1安装perl 5.10
  5. 现在,您可以使用perlbrew use更改当前shell的Perl,或使用perlbrew switch全局更改Perl。

如果您只需要一个Perl并且想要避免perlbrew的复杂性,则可以尝试perl-build

尝试了很多事情,这终于对我有用:)

步骤1:找到包含所有libm*文件的lib路径

在大多数系统中,它位于/usr/lib64 在您的机器中搜索相同的内容

system:/usr/lib64$ ls libm*
libm.a         libmcheck.a     libmenuw.so.5    libmpc.so.3.0.0    libmpfr.so.4  libmpx.so.0.0.0      libm.so         libmvec.a
libmagic.so.1      libmenu.so.5    libmenuw.so.5.9  libmpdec.so.2      libmpfr.so.4.1.4  libmpxwrappers.so.0      libmspack.so.0      libmvec_nonshared.a
libmagic.so.1.0.0  libmenu.so.5.9  libmpc.so.3      libmpdec.so.2.4.2  libmpx.so.0   libmpxwrappers.so.0.0.0  libmspack.so.0.1.0  libmvec.so

步骤2:在进行配置时使用glibpth选项与路径

./Configure -des -Dglibpth='/lib/lib64 /usr/lib64'

或者我看到一些论坛建议plibpth

./Configure -des -Dplibpth='/lib/lib64 /usr/lib64' -Dglibpth='/lib/lib64 /usr/lib64' -Dlibpth='/lib/lib64 /usr/lib64'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM