2010-11-04 2 views
2

Я пытаюсь скомпилировать переносимую версию perl, содержащую модуль CPAN, в частности модуль YAML. Я намерен иметь возможность скопировать эту переносимую версию в мой домашний каталог на многочисленных машинах Redhat Linux, добавить ее в мой $ PATH и использовать эту версию вместо стандартной версии perl для запуска некоторых тестов.Компиляция портативного Perl и включая модуль CPAN

Мне уже удалось собрать переносимую версию perl и заставить ее работать на разных машинах. Однако, когда я компилирую модуль YAML и устанавливаю его, он работает локально, но затем сбой при копировании на другие машины.

Вот мои шаги компиляции локально для модуля YAML

perl Makefile.pl 
make test 
make install 

который устанавливает модуль YAML локально, а также работает локально, когда я использую модуль YAML в скрипте.

Это ошибка, когда я скопировать Perl на другую машину и попытаться использовать модуль YAML ...

Can't locate loadable object for module YAML::XS::LibYAML in @INC 

даже если Библиотека/site_perl/5.10.1/x86_64-Linux/YAML/LibYAML. pm в моей местной копии.

Является ли то, что я пытаюсь сделать возможным?
Если да, то где я иду не так?

+1

Сообщение об ошибке не жалуется на YAML :: LibYAML, он жалуется на YAML :: XS :: LibYAML. – Ether

+0

И не о YAML :: XS :: LibYAML, но C часть его - LibYAML.so (или что-то в этом роде). –

+0

Я уверен, что модуль YAML-LibYAML содержит YAML :: XS. Я думаю, что вы правы, хотя Александр, так или иначе часть C модуля не переносима после ее компиляции. – Mormanski

ответ

2

Возможно, вам стоит исследовать PAR, с помощью которого вы можете создать архив своих зависимостей в модуле и отправить его вместе с вашим приложением.

+0

Я думаю, что PAR поможет мне достичь того, что мне нужно, спасибо. Тем не менее, я до сих пор не понимаю, почему мой более ранний метод вышел из строя. – Mormanski

+0

Jira, я, наконец, добрался до исследования PAR, и это действительно то, что мне нужно. Работает блестяще, спасибо снова. – Mormanski

+0

рад быть полезным :) – jira

Смежные вопросы