Bonjour,Existe-t-il un moyen de construire une libxml2 sans relocalisation de texte sous Linux?
J'ai des difficultés avec libxml2.
J'ai essayé de construire le module Perl XML-LibXML qui fait partie de notre environnement d'exécution standard. Cependant, cette fois l'installation sur une boîte RHEL5 a échoué, parce que le processus de construction se plaignait de libxml2 manquant:
$> perl Makefile.PL LIB=/foo/lib/perl PREFIX=/foo INSTALLDIRS=site enable native perl UTF8 running xml2-config...ok (2.7.6) looking for -lxml2... no looking for -llibxml2... no libxml2 not found
Cependant, le fichier était disponible. Démarrage de la construction avec
perl Makefile.PL LIB=/usr/inform/target/lib/perl PREFIX=/usr/inform/target INSTALLDIRS=site
a conduit à davantage de preuves du problème réel:
[...] Can't load 'blib/arch/auto/Conftest/Conftest.so' for module Conftest: /usr/inform/target/lib/libxml2.so.2: cannot restore segment prot after reloc: Permission denied at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. at test.pl line 2 [...]
Après quelques recherches, je trouve que le problème semble être que libxml2.so
est créé à la relocalisation du texte:
[[email protected]] lib$ eu-findtextrel libxml2.so.2.7.6 the file containing the function 'get_crc_table' is not compiled with -fpic/-fPIC the file containing the function 'crc32' is not compiled with -fpic/-fPIC the file containing the function 'gzerror' is not compiled with -fpic/-fPIC [...]
Ans puisque nous avons SElinux actif sur la machine cible, la liaison avec libxml.2 a échoué!
Y at-il une possibilité de créer correctement libxml2
, ou dois-je demander à l'administrateur de tordre SElinux pour permettre les délocalisations?
Je ne peux vraiment pas croire que je suis le seul à avoir ce problème sous Linux avec SElinux actif. Qu'est-ce que je rate?
Toute aide appréciée!
Cordialement, Stefan
Oui! Le fait que je n'ai eu qu'une libz statique a causé tout mon tracas. Une fois qu'une libz.so dynamique était disponible, le problème était parti! :-) – struppi