新装了centos7,安装perl模块时,发现系统自带的perl很多基础的包都没安装(是基础perl的阉割版本,甚至失去了很多重要的基础包 http://www.perlmonks.org/?node_id=486526),比如 ExtUtils::MakeMaker,ExtUtils::ParseXS,ExtUtils::Embed等很多基础包都没有,因为自己熟知自定perl包的安装方法,所以很装逼的就把这些包及其依赖包装上了,但发现最后依然报错如下:

[root@localhost HTML-Parser-3.72]# perl Makefile.PL INSTALL_BASE=/share/soft/perl_lib

Checking if your kit is complete...

Looks good

Generating a Unix-style Makefile

Writing Makefile for HTML::Parser

Writing MYMETA.yml and MYMETA.json

[root@localhost HTML-Parser-3.72]# make

cp lib/HTML/PullParser.pm blib/lib/HTML/PullParser.pm

cp lib/HTML/Entities.pm blib/lib/HTML/Entities.pm

cp Parser.pm blib/lib/HTML/Parser.pm

cp lib/HTML/TokeParser.pm blib/lib/HTML/TokeParser.pm

cp lib/HTML/LinkExtor.pm blib/lib/HTML/LinkExtor.pm

cp lib/HTML/HeadParser.pm blib/lib/HTML/HeadParser.pm

cp lib/HTML/Filter.pm blib/lib/HTML/Filter.pm

Running Mkbootstrap for Parser ()

chmod 644 "Parser.bs"

"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Parser.bs blib/arch/auto/HTML/Parser/Parser.bs 644

"/usr/bin/perl" "/share/soft/perl_lib/lib/perl5/ExtUtils/xsubpp" -typemap '/usr/share/perl5/ExtUtils/typemap' -typemap '/share/soft_backup/HTML-Parser-3.72/typemap' Parser.xs > Parser.xsc

mv Parser.xsc Parser.c

"/usr/bin/perl" mkhctype >hctype.h

"/usr/bin/perl" mkpfunc >pfunc.h

gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DVERSION=\"3.72\" -DXS_VERSION=\"3.72\" -fPIC "-I/usr/lib64/perl5/CORE" -DMARKED_SECTION Parser.c

Parser.xs:17:20: 致命错误:EXTERN.h:没有那个文件或目录

#include "EXTERN.h"

^

编译中断。

make: *** [Parser.o] 错误 1

就是找不到EXTERN.h头文件,如果你把这个头文件从其他地方拷过来(考到/usr/lib64/perl5/CORE 下),发现编译时还需要perl.h,config.h等一系列的头文件。所以对于这种阉割版的perl必须装perl-devel 或 perl-dev perl基础库:

centos 7 下安装方法:yum install perl-devel

装好后你会发现需要的EXTERN.h等头文件也有了,安装perl包(HTML::Parser)时的报错也解决了!

要解决这种问题,除了安装perl-devel 或 perl-dev perl基础库外,你也可以自己自定义安装一个perl(常规perl都包含这些基础库),以满足没有root权限的需要

参考:

http://www.magiclinux.org/bugs/view.php?id=143

http://www.perlmonks.org/?node_id=486526

perl 安装html,centos perl 安装HTML-Parser时报错相关推荐

  1. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  2. ubuntu18.04.05安装显卡1080ti 1070ti显卡的驱动时报错-【解决方案】

    ubuntu18.04.05 裸机 安装显卡1080ti 1070ti显卡的驱动时报错 执行安装包错: chmod -R 777 NVIDIA-Linux-x86_64-460.39.runsudo ...

  3. 安装启动azkaban的server和executor时报错Error:Could not initialize class org.apache.derby.jdbc.AutoloadedDrive

    问题描述: 安装启动azkaban的server和executor时报错Error:Could not initialize class org.apache.derby.jdbc.Autoloade ...

  4. centos5.6安装mysql,Centos下安装mysql5.6

    检查系统中是否已安装 MySQL. rpm -qa | grep mysql 返回空值的话,就说明没有安装 MySQL 查看已安装的 Mariadb 数据库版本 # rpm -qa|grep -i m ...

  5. ipython安装教程-CentOS 5安装IPython

    话说上次给那台装CentOS 5的免费VPS升级了Python,这次我们继续来安装IPython. 一.IPython是什么 IPython是Python的交互式Shell,提供了代码自动补完,自动缩 ...

  6. python3.7.2安装教程-CentOS 7安装Python教程

    CentOS 7安装Python 3.6.4 一.解决依赖关系 在 CentOS 7 中安装 Python 3.6.4之前,请确保系统中已经有了所有必要的依赖包否则会报错: yum -y groupi ...

  7. 安装 oracle-xe,CentOS上安装Oracle XE指南

    引言: 在CentOS上安装Oracle XE主要用来解决学习和测试的用处,虽然简单,但也是涉及到了诸多的步骤和细节问题. 1.  下载Oracle XE 访问http://www.oracle.co ...

  8. 在线安装php,CentOS在线安装PHP|dayblog-天天博客|PHP交流,PHP技术,PHP博客,博客交流,dayblog,blog,天天博客...

    1.先安装一些其他依赖 yum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype ...

  9. linux nslookup命令安装,在CentOS中安装nslookup命令

    域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有. 在CentOS中安装nslookup命令: $ sudo yum install bind-ut ...

最新文章

  1. python软件有多大-Python程序有多大?
  2. Using libcurl in VC++
  3. cheerio的小案例
  4. 苹果风格ui_苹果如何使Soft-UI成为未来
  5. 工业以太网交换机与网络交换机的区别
  6. linux一台机器如何安装两个mysql,在一台linux机器上启动两个mysql实例
  7. 定了!华为P30/P30 Pro正式官宣:3月26日见
  8. cygwin不支持__malloc_hook
  9. spring 如何决定使用jdk动态代理和cglib(转)
  10. ARM Linux启动分析----head-armv.S内幕
  11. bzoj4173:数学
  12. Android 运行时权限
  13. ios APP加密探究几维安全iOS 代码混淆效果参考
  14. (搞笑)经典!一些很彪悍的句子
  15. ShowType=0,交换机命令showinterfacestype0/port_#switchport|trunk用于显 - 信管网
  16. 美国计算机专业nlp大学排名,美国人工智能专业排名前十的学校
  17. You have new mail in /var/spool/mail/root
  18. mysql查每个月的收入_mysql 查询每个人、每个月的消费金额及每年的消费总额
  19. stc8a控制MG90S舵机
  20. 择校秘籍|保研去 北大软微 还是 上交计算机?

热门文章

  1. IEPNGFix:Unclickable children of element 解决办法
  2. Python3自带HTTP文件传输服务(局域网文件共享)
  3. CentOS7 安装 NextCloud
  4. C#中? 、?? 、?. 、??= 的用法和说明
  5. 如何在linux下启动和关闭oracle服务
  6. linux脚本算术函数,Linux基础之bash脚本编程初级-变量与算术运算
  7. in ms sql 集合参数传递_mybatis从入门到精通,第三篇《动态SQL》,干货满满
  8. python函数式编程读取数据时出现错误_Python编程中,函数遇到问题是抛出错误好还是约定返回值好?...
  9. count数据库优化oracle,迷惑性SQL性能问题排查与优化
  10. 腾讯TIM自动回复内容怎么自定义添加