Компиляция Perl без потоков - PullRequest
       22

Компиляция Perl без потоков

1 голос
/ 20 февраля 2020

Я компилирую Perl 5.30.1 и буду использовать с ним mod_ perl 2.0.11 и Apache 2.4.41.

Если я попытаюсь скомпилировать mod_ perl с perl MakeFile.pm Я получаю

Configuring Apache/2.4.41 mod_perl/2.0.11 Perl/v5.30.1
Using Perl 5.030001 w/o ithreads and httpd-2.4.
Failed requirements: Perl built with ithreads (build perl with -Duseithreads)

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

Я вижу, как люди говорят, как скомпилировать его (я думаю, в более старых версиях Perl, где он был выключен по умолчанию?)

-Dusethreads

Но я предполагаю, что теперь он включен по умолчанию? В каком случае, как мне скомпилировать без него?

Если я посмотрю на файл myconfig, он предложит

useithreads=undef

Я пробовал что-то вроде -Dusethreads = no или false и прочее например, но я, вероятно, упускаю правильное для использования.

Я также ничего не имею против включения потоков в mod_ perl (но также не могу найти, как это сделать), если нет не производительность (посты на SO, кажется, предполагают, что есть 10% -ый удар, но не уверен, что это все еще актуально) *

Тогда

CFLAGS='-m64 -mtune=nocona' ./Configure -des -A ccflags=-fPIC -Dprefix=/opt/perl  

perl -v не показывает темы.

А затем для mod_ perl

Perl Makefile.PL

Apache скомпилировано с

./configure --enable-proxy --enable-rewrite --enable-headers --enable-ssl --with-apr=/usr/local/apr/

Редактировать: Возможно, для mod_ perl потоки должны быть включены как есть, поэтому есть способ отключить это в опциях компиляции, если это так.

1 Ответ

1 голос
/ 20 февраля 2020

Мне кажется, что ответом будет скомпилировать mod_ perl с опцией ..

perl Makefile.PL MP_NO_THREADS=1

Если кто-то хочет дать более полный ответ о том, не так ли желательно делать это сейчас (или любая другая информация), поскольку, похоже, с Apache 2.4 произошли некоторые изменения, я с радостью приму их ответ.

...