Comment puis-je définir la bibliothèque et inclure des chemins d'accès pour Makefile.PL pour une installation unique?
Comment puis-je savoir CPAN pour donner Makefile.PL
un argument spécifique dans une installation spécifique?
Spécifiquement. Je veux installer XML::LibXML
, et apt-get
installé à la bibliothèque de /usr/lib/libxml2.so.2.6.32
. Makefile.PL
a des problèmes avec ça et me dit:
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/
Je sais où la libxml2 est, mais je ne sais pas comment le dire à la Makefile.PL
.
edit: Quand je fais dpkg -L libxml2
(c'est une debian), je vois
/.
/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
Je ne suis pas un super-utilisateur sur la machine et je ne peux pas faire de lien symbolique dans /usr/lib
ou de la réparer.
Alors, comment ce travail? Avez-vous réussi à résoudre votre problème?
Oui, je l'ai fait (désolé de ne pas répondre, j'ai eu quelques autres travaux), merci!
Oui, je l'ai fait (désolé de ne pas répondre, j'ai eu quelques autres travaux), merci!
OriginalL'auteur Karel Bílek | 2010-09-29
Vous devez vous connecter pour publier un commentaire.
L'Makefile.PL est à la recherche d'
libxml2.so
. C'est généralement un lien symbolique vers votre libxml2 objet partagé, commelibxml2.so.2.6.32
. Si, pour quelque raison que ce soit ce lien symbolique n'est pas parce que vous l'avez supprimé, votre fournisseur n'a pas l'expédier avec ses libxml2-tête de paquet (par exemple,libxml2-dev
sur Debian/Ubuntu/etc), vous devrez créer vous-même.Vous n'avez pas besoin de passer un argument spécifique à Makefile.PL ici. Il est déjà à la recherche dans les bons endroits. Les choses qu'il est à la recherche ne sont tout simplement pas là.
dpkg -L libxml2
, je vois deux choses dans/usr/lib
, et c'est/usr/lib/libxml2.so.2.6.32
et/usr/lib/libxml2.so.2
. C'est probablement installée mal; cependant, je n'ai aucun moyen de le réparer.Est
libxml2-dev
installé? Si pas, vous ne serez pas en mesure de construireXML::LibXML
contre que libxml2 vous avez installé que vous êtes absent de l'en-tête et les fichiers .donc, les liens symboliques. Si vous ne pouvez pas obtenir votre administrateur système pour installer ce paquet pour vous, je recommande l'installation de libxml2, y compris ses en-têtes, manuellement, dans un répertoire que vous disposez des autorisations d'écriture et de pointage Makefile.PL à qui, à l'aide de laLIBS
etINC
options déjà vous a montré dans sa sortie.Oh. Il n'est pas. Est ce que le problème? (Je peux faire de l'administrateur pour l'installer, il faut juste quelques jours :))
Oui, c'est ça le problème. Le
libxml2-dev
paquet contient les deux fichiers d'en-tête pour libxml2, ainsi que le répertoire /usr/lib/libxml2.donc lien symbolique vers votre véritable libxml..1.2.345 que Makefile.PL est à la recherche pour.Hmmm.
apt-cache search get libxml2-dev
me montre rien 🙁OriginalL'auteur rafl
Dans le shell CPAN, vous pouvez définir les valeurs que vous avez besoin de:
Avec le cpan commande, vous pouvez utiliser le
-j
interrupteur pour charger un fichier de configuration personnalisé. Vous pouvez commencer avec la-J
commutateur de vidage de la configuration, puis sur modifier les valeurs que vous voulez et de le recharger:Cependant, je soupçonne que rafl les soupçons sont de droite.
OriginalL'auteur brian d foy