Принуждение LD_PRELOAD только на платформе HP, но не на других разновидностях Unix (AIX, Linux и Solaris).
Я создал модуль Perl XML::LibXML::Common для всех разновидностей Unix. . Мне пришлось специально выполнить LD_PRELOAD для библиотеки libcl.2 только на платформе HP. В то время как на других unix-платформах ничего как такового не требовалось.
Является ли это поведением ОС или чего-то действительно не хватает в загрузчике/компиляторе HP?
Я запускал perl-скрипт, который просто создает новый объект "XML::LibXML::SAX"
use XML::LibXML::SAX;
$x = XML::LibXML::SAX->new();
и он жаловался на
Не удается загрузить «site_perl/5.8.8/PA-RISC2.0-thread-multi/auto/XML/LibXML/Common/Common.sl» для модуля XML::LibXML::Common: ошибка формата Exec
и когда я делаю LD_PRELOAD для libcl.2, ошибка исчезает, и Perl построен для поддержки многопоточности.