Добрый день,Есть ли способ создать libxml2 без текстовых перемещений в Linux?
У меня возникли трудности с libxml2.
Я попытался построить модуль Perl XML-LibXML, который является частью нашей стандартной среды выполнения. Тем не менее, на этот раз установка на коробке RHEL5 не удалось, так как процесс сборки жаловался отсутствующего libxml2:
$> 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
Однако файл был доступен. Запуск сборки с
perl Makefile.PL LIB=/usr/inform/target/lib/perl PREFIX=/usr/inform/target INSTALLDIRS=site
привело к более доказательств реальной проблемы:
[...] 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 [...]
После некоторых исследований я обнаружил, что проблема, как представляется, что libxml2.so
создается с текстом перемещения:
[[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, так как у нас есть SElinux активная на целевой машине, ссылка на libxml.2 не удалась!
Возможно ли создать libxml2
, или мне нужно попросить администратора скрутить SElinux, чтобы разрешить перемещение?
Я действительно не могу поверить, что я один из тех, у кого есть эта проблема в Linux с активным SElinux. Что мне не хватает?
Любая помощь с пониманием!
С уважением, Стефан
Да! Тот факт, что у меня был только статический libz, вызвал все мои хлопоты. Как только динамический libz.so был доступен, проблема исчезла! :-) – struppi