目录
2 如何处理invalid use of undefined type ‘struct pollfd’
1 从官网Perl Source - www.cpan.org下载perl源码。
4 取决于你想安装perl还是libperl.so,如下命令二选一:
某些linux发行版预装了perl,但是没有安装libperl.so。一个解决办法是安装libperl-dev。但是前面的博客里我说了,我不喜欢把安装完全交给apt-get这样的工具。所以这里介绍我用源码安装perl的全过程,及常见问题。
问题汇总
1 如何生成libperl.so?
2 如何处理invalid use of undefined type ‘struct pollfd’
解决方案
1 从官网Perl Source - www.cpan.org下载perl源码。
这里我选择5.22.4
2 解压
3 进入解压后的文件夹perl-5.22.4
4 取决于你想安装perl还是libperl.so,如下命令二选一:
4.1 安装perl
注意,Configure首字母大写
./Configure -des -Dprefix=$HOME/localperl
4.2 安装libperl.so
(来源Install - Build and Installation guide for perl5.)
./Configure -des -Dprefix=$HOME/localperl -Duseshrplib
这一步之后,一定要修改LD_LIBRARY_PATH
LD_LIBRARY_PATH='源码解压后的目录':$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
5 make
安装过程里很可能会出现如下问题:
invalid use of undefined type ‘struct pollfd’
根据redhat - Make error when compiling Perl 5.12.1 (RHEL 5.5) - Server Fault的说法:
要把perl源码/dist/IO/poll.h的包括头文件<poll.h>改为<sys/poll.h>
重新make
6 sudo make install
7 制造软链接
上一步生成的so文件位于localperl/lib/5.22.4/x86_64-linux/CORE
在/usr/lib中建立一个软链接指向它:
ln -s xxxx/xx/libperl.so /usr/lib