如何告诉CPAN在一个特定的安装中给Makefile.PL
一个特定的参数?
具体来说。我想安装XML::LibXML
,并且apt-get
将库安装到/usr/lib/libxml2.so.2.6.32
。 Makefile.PL
对此有问题,并告诉我:
using fallback values for LIBS and INC
options:
LIBS='-L/usr/local/lib -L/usr/lib -lxml2 -lm'
INC='-I/usr/local/include -I/usr/include'
If this is wrong, Re-run as:
$ /usr/bin/perl Makefile.PL LIBS='-L/path/to/lib' INC='-I/path/to/include'
looking for -lxml2... no
looking for -llibxml2... no
libxml2 not found
Try setting LIBS and INC values on the command line
Or get libxml2 from
http://xmlsoft.org/
我知道libxml2在哪里,但是我不知道如何将它告诉
Makefile.PL
。编辑:当我执行
dpkg -L libxml2
(这是一个debian)时,我看到了/.
/usr
/usr/lib
/usr/lib/libxml2.so.2.6.32
/usr/share
/usr/share/doc
/usr/share/doc/libxml2
/usr/share/doc/libxml2/AUTHORS
/usr/share/doc/libxml2/changelog.Debian.gz
/usr/share/doc/libxml2/copyright
/usr/share/doc/libxml2/README
/usr/share/doc/libxml2/README.Debian
/usr/share/doc/libxml2/NEWS.gz
/usr/share/doc/libxml2/changelog.gz
/usr/share/doc/libxml2/TODO.gz
/usr/lib/libxml2.so.2
我不是该计算机的root用户,因此无法在
/usr/lib
中建立符号链接(symbolic link)或对其进行修复。 最佳答案
Makefile.PL正在寻找libxml2.so
。通常,这是到实际libxml2共享对象的符号链接(symbolic link),例如libxml2.so.2.6.32
。如果由于某种原因该符号链接(symbolic link)因删除而没有出现,则您的供应商未将其带有libxml2头文件包(例如Debian/Ubuntu/etc上的libxml2-dev
)提供,则需要您自己创建它。
您无需在此处将任何特定的参数传递给Makefile.PL。它已经在正确的地方寻找。它所寻找的东西根本就不存在。
关于perl - 如何为单个安装设置库并包含Makefile.PL的路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3826449/