Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Установка с помощью PAR


Автор: mvsgt 11.11.2009, 11:56
Есть ли удачный опыт распространения программ на Perl с помощью прилагаемых модулей в формате PAR ? 

PAR - Perl Archive Toolkit
http://search.cpan.org/~smueller/PAR-0.994/lib/PAR.pm

Автор: JackYF 12.11.2009, 21:08
mvsgt, я пробовал немного. Работает.

Автор: gcc 13.11.2009, 01:05
mvsgt, я пробовал, но не включал smile я хотел на хостинг поставить, так оно много времени заняло

ну там пишешь Makefile.PL там как в Catalyst'е он, зависимости как бы "депендядся"

он их копирует в архив, можешь разархивировать и просто локально поставить где-то на хостинг в каталог, потом usr lib или через сам архив....

Автор: mvsgt 13.11.2009, 02:41
gcc, там пишешь не Makefile, а pp smile это немного не из той оперы.

Автор: gcc 13.11.2009, 03:36
ну я пробовал, копировал

Makefile.PL
Код

# IMPORTANT: if you delete this file your app will not work as
# expected.  you have been warned
use inc::Module::Install;

name 'MyApp';
all_from 'lib/MyApp.pm';

requires 'Catalyst::Runtime' => '5.7014';
requires 'Catalyst::Plugin::ConfigLoader';
requires 'Catalyst::Plugin::Static::Simple';
requires 'Catalyst::Action::RenderView';
requires 'parent';
requires 'Config::General'; # This should reflect the config file format you've chosen
                 # See Catalyst::Plugin::ConfigLoader for supported formats
catalyst;

install_script glob('script/*.pl');
auto_install;
catalyst_par();
WriteAll;


Код

# perl Makefile.PL
# make catalyst_par

Автор: iadsf 27.8.2014, 18:40
Попробую вновь поднять эту тему:
при сборке с помощью pp в Win7 на дистрибутиве Strawberry опытным путём выяснилось, что готовый exe раскрывается/работает на других ПК при следующих условиях (помог комментарий на stackoverflow: "The only thing that might cause some problems are that DLL's of some libraries won't be included when building the PAR exe. But you can include them manually."):
1. libwinpthread-1.dll лежит в том же оглавлении, что и поставляемый exe.
2. Надо подцепить дополнительные dll:
pp -g --link libiconv-2__.dll --link liblzma-5__.dll --link libxml2-2__.dll --link zlib1__.dll -o foobar.exe foobar.pl
Остались вопросы:
1. Как заранее определить список требуемых dll?
2. Как их упаковать по-человечески (например, положить в отдельную папку): libwinpthread-1.dll вместе с exe выглядит не камильфо.
3. В кэше par-... все dll из команды выше присутствуют в двух экземплярах: в папке shlib и в корне.
Спасибо.


Автор: iadsf 19.8.2015, 14:53
Пункт 1 выше уже не актуален - пофиксили https://rt.cpan.org/Public/Bug/Display.html?id=99229

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)