LINUX.ORG.RU

perlcc


0

0

Есть программа на perl. Нужно ее скомпилировать с помощью perlcc чтобы получить бинарик. При компилиции возникают ошибки и следовательно процесс компиляции останавливается. При компиляции не в бинарик, а байт-код перла компилится нормально.

Впорос: В чем может быть проблема при компиляции в бинарик.

winner@linux:~/proj/developmet/hawk> perlcc mail-0.2.pl
pccl53BW.c:92994: error: initializer element is not constant
pccl53BW.c:92994: error: (near initialization for `xrv_list[65].xrv_rv')
pccl53BW.c:92994: error: initializer element is not constant
pccl53BW.c:92994: error: (near initialization for `xrv_list[65]')
pccl53BW.c:92995: error: initializer element is not constant
pccl53BW.c:92995: error: (near initialization for `xrv_list[66]')
pccl53BW.c:92996: error: initializer element is not constant
pccl53BW.c:92996: error: (near initialization for `xrv_list[67]')
pccl53BW.c:92997: error: initializer element is not constant
pccl53BW.c:92997: error: (near initialization for `xrv_list[68]')

................................

pccl53BW.c:93081: error: (near initialization for `xrv_list[152]')
pccl53BW.c:93082: error: initializer element is not constant
pccl53BW.c:93082: error: (near initialization for `xrv_list[153]')
pccl53BW.c:93083: error: initializer element is not constant
pccl53BW.c:93083: error: (near initialization for `xrv_list[154]')
pccl53BW.c: In function `perl_init_aaab':
pccl53BW.c:112865: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c: In function `perl_init_aaac':
pccl53BW.c:116914: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c: In function `perl_init_aaap':
pccl53BW.c:251973: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:252439: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:252651: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253310: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253332: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253543: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253742: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253755: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253767: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253779: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253791: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253803: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253815: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253838: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253850: warning: this decimal constant is unsigned only in ISO C90
pccl53BW.c:253862: warning: this decimal constant is unsigned only in ISO C90



anonymous

этот perlcc вообще кроме простейших скриптов ничего сделать не может, либо вообще не компилится, либо получившийся бинарник не работоспособен. Можно попробовать par для таких целей, но не некоторых сборках он тоже глючит, и размеры большие.

зы: это тебе для винды? не вижу никакой необходимости делать это для linux, практически в любом дистре перл по умолчанию есть.

anonymous
()
Ответ на: комментарий от anonymous

это нужно чтобы коммерческий продукт собрать
Но у NetUP же софт писанный на перле и все у них скомпилилось?!

anonymous
()

Хммм... неужели недостаточно прочитать perldoc perlcc,
чтобы не заниматься такой фигней:

...
The code generated in this way is not guaranteed to work. The whole
codegen suite ("perlcc" included) should be considered very
experimental. Use for production purposes is strongly discouraged.
...

Жалко мне клиентов, которые будут использовать такой "коммерческий"
продукт :-(
BTW а почему нельзя скрипты в исходном виде поставлять?

Onanim
()

В свое время был Perl2Exe от indigostar.

Он работал.


Правда он просто сует интерпретатор + скрипт + необходимые либы в один файл.

Но в большинстве случаев этого достаточно.

roller ★★★
()
Ответ на: комментарий от anonymous

для Perl нет таких решений.
Par - Perl ARchive = интерпретатор + набор необходимых библ.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.