如何告诉CPAN在一个特定的安装中给Makefile.PL一个特定的参数?

具体来说。我想安装XML::LibXML,并且apt-get将库安装到/usr/lib/libxml2.so.2.6.32Makefile.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/

10-12 12:29