sno*_*kin 7 perl module perl-module xs
如果我错了,请纠正我,但基于XS和Dynaloader的模块是那些使用C/C++共享对象(.so)而不是PP(Pure Perl)的模块?
现在假设我有一台机器,它没有任何网络连接(Solaris 10),我想要安装Crypt::OpenSSL::AES(基于XS的模块),将AES.pm文件复制到@INC中的相关路径不会有任何好处,因为我的系统没有libssl安装.
我的第二个也是最重要的问题是,当我没有CPAN时如何安装这些模块?我的方法是:
libssl我的平台,编译它,但我应该在哪里放置该分片对象文件,以便perl可以找到它?AES.pm到@INC中的相关路径,还是需要配置/制作它?CPAN本身是基本perl安装的一部分.它将永远可用.
如果你不能使用cpanshell与互联网交谈并获取模块,你至少可以从CPAN网站抓取tarball,将它放在目标机器上,解压缩它,然后运行
$ cpan .
Run Code Online (Sandbox Code Playgroud)
从解压缩目录中.这将运行该分发的CPAN安装程序.当然,如果它找到缺少的依赖项,你将不得不使用相同的技术递归地获取它们.
如果您没有root访问权限,我会安装${HOME}/lib.只需确保链接器可以找到它,或者目录应该在您的LD_LIBRARY_PATH环境变量中,或者更好地将EU :: MM指向库和包含文件.
不,该模块还有一个必须编译的C部分.
安装
下载分发tarball:http: //search.cpan.org/CPAN/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz
然后按照INSTALLATION下的README文件中的步骤操作
perl Makefile.PL INC="-I $HOME/include" LIBS="-L $HOME/lib"
make
make test
make install
Run Code Online (Sandbox Code Playgroud)
这将确保模块正确构建,测试和安装.