perl 安装html,centos perl 安装HTML-Parser时报错
新裝了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时报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python numpy常用操作、Num
- 下一篇: 荣耀es升级鸿蒙,华为手机明年全部升级鸿