FreeBSD 4.4Хочу поставит Sendmail::Milter требует более позднего Perl чем в системе.
www# cd Sendmail-Milter-0.18
www# perl Makefile.PL
Perl 5.006 required--this is only version 5.00503, stopped at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
www#Как обновить перл не повредив систему.
На машине
sendmail-8.12.10
mysql323-server
spamassassin
А вообще
www# which perl
/usr/bin/perl
www# ls /usr/local/bin | grep perl
find2perl
perl
perl5
perl5.8.2
perlbug
perlcc
perldoc
perlivp
www#Как заставить что бы в системе виделся последний перл. И модуль его видел без проблем?
>А вообще
>www# which perl
>/usr/bin/perl
>www# ls /usr/local/bin | grep perl
>find2perl
>perl
>perl5
>perl5.8.2
>perlbug
>perlcc
>perldoc
>perlivp
>www#
>
проверь не симлинк ли /usr/local/bin/perl5.8.2
rm -rf /usr/local/bin/perl
cp /usr/local/bin/perl5.8.2 /usr/local/bin/perl
ln -sf /usr/local/bin/perl /usr/bin/perl
man perlrun
ИМХО гдето так
А вообще все это изврат.., дерни по cvs последние порты
и собери по человечески.....
>проверь не симлинк ли /usr/local/bin/perl5.8.2
>rm -rf /usr/local/bin/perl
>cp /usr/local/bin/perl5.8.2 /usr/local/bin/perl
>ln -sf /usr/local/bin/perl /usr/bin/perl
>man perlrun
>ИМХО гдето так
>А вообще все это изврат.., дерни по cvs последние порты
>и собери по человечески.....
Тоже столкнулся... Дернул. Установил... Тока теперь два перла... Или когда make world делаешь не надо перл ставить?
>>проверь не симлинк ли /usr/local/bin/perl5.8.2
>>rm -rf /usr/local/bin/perl
>>cp /usr/local/bin/perl5.8.2 /usr/local/bin/perl
>>ln -sf /usr/local/bin/perl /usr/bin/perl
>>man perlrun
>>ИМХО гдето так
>>А вообще все это изврат.., дерни по cvs последние порты
>>и собери по человечески.....
>
>
>Тоже столкнулся... Дернул. Установил... Тока теперь два перла... Или когда make world
>делаешь не надо перл ставить?вообще-то никто не запрещает читать документацию!!!
[unix1]~ > ls -la /usr/ports/lang/ | grep perl
drwxr-xr-x 3 100 dug 512 22 фев 2003 eperl
drwxr-xr-x 3 100 dug 512 29 апр 2003 perl5
drwxr-xr-x 3 100 dug 512 29 апр 2003 perl5.8
drwxr-xr-x 3 100 dug 512 18 фев 2003 ruby-perl
[unix1]~ >perl5 - 5.6.x
perl5.8 и так понятно[unix1]~ > ls -la /usr/ports/lang/perl5*/pkg-message
-rw-r--r-- 1 100 dug 905 19 дек 2001 /usr/ports/lang/perl5.8/pkg-message
-rw-r--r-- 1 100 dug 905 19 дек 2001 /usr/ports/lang/perl5/pkg-message
[unix1]~ >[unix1]~ > less /usr/ports/lang/perl5*/pkg-message
...
If you want this version of Perl to be used by default, please typeuse.perl port
...
At any time you can also typeuse.perl system
if you wish to revert back to the system version of perl.
после выполнения use.perl port в /etc/make.conf будем иметь, например:
# -- use.perl generated deltas -- #
# Created: Wed May 28 22:16:53 2003
# Setting to use base perl from ports:
PERL_VER=5.8.0
PERL_VERSION=5.8.0
PERL_ARCH=mach
NOPERL=yo
NO_PERL=yo
NO_PERL_WRAPPER=yoчто никак не повредит ни системе, ни сборке.
Кроме того, man make.conf и желательно создать свой /etc/make.conf на базе /etc/defaults/make.conf (дефолтный НЕ ТРОГАТЬ, так же как и дефолтный /etc/defaults/rc.conf - вместо него свой /etc/rc.conf)
В своем make.conf можно много удобных вещей себе настроить:
допустим не хочу пересобирать:
...
NO_FORTRAN= true # do not build g77 and related libraries
NO_LPR= true # do not build lpr and related programs
NOGAMES= true # do not build games (games/ subdir)
NOUUCP= true # do not build uucp related programs
...
# If you want the "compat" shared libraries installed as part of your normal
# builds, uncomment these:COMPAT1X= yes
COMPAT20= yes
COMPAT21= yes
COMPAT22= yes
COMPAT3X= yes
COMPAT4X= yes
...
# Default format for system documentation, depends on your printer.
# Set this to "ascii" for simple printers or screenPRINTERDEVICE= ascii
...
XFREE86_VERSION=4
...
HAVE_MOTIF= yes
...
USA_RESIDENT= NO
...
FORCE_PKG_REGISTER= YES
...
MASTER_SITE_BACKUP?= \
ftp://dbserv.jinr.ru/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
...
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
...
DOC_LANG= en_US.ISO8859-1 ru_RU.KOI8-R
...Вобщем, каждый настраивает под себя, так что не надо тупо переписывать
верхнее.Прим: мнения по стабильности perl5.6.x и perl5.8 разделились, perl5.8
существенно отличается от предыдущих, к примеру inn уже не собрать
с perl5.8. А amavis и spamassasin якобы лучше работают с 5.8.Важное: если у вас были собраны модули перл и затем вы установили в систему из портов 5.6.x или 5.8.x, эти модули не будут работать с
новым перлом, их нужно пересобрать.после выполнения use.perl port
системный будет переименован в /usr/bin/perl5, а /usr/bin/perl станет
линком на /usr/local/bin/perl
>>>проверь не симлинк ли /usr/local/bin/perl5.8.2
>>>rm -rf /usr/local/bin/perl
>>>cp /usr/local/bin/perl5.8.2 /usr/local/bin/perl
>>>ln -sf /usr/local/bin/perl /usr/bin/perl
>>>man perlrun
>>>ИМХО гдето так
>>>А вообще все это изврат.., дерни по cvs последние порты
>>>и собери по человечески.....
>>
>>
>>Тоже столкнулся... Дернул. Установил... Тока теперь два перла... Или когда make world
>>делаешь не надо перл ставить?
>
>вообще-то никто не запрещает читать документацию!!!
>
Это я знаю.. Читал... Просто интересно нафига мне 2-а перла????
>>>>проверь не симлинк ли /usr/local/bin/perl5.8.2
>>>>rm -rf /usr/local/bin/perl
>>>>cp /usr/local/bin/perl5.8.2 /usr/local/bin/perl
>>>>ln -sf /usr/local/bin/perl /usr/bin/perl
>>>>man perlrun
>>>>ИМХО гдето так
>>>>А вообще все это изврат.., дерни по cvs последние порты
>>>>и собери по человечески.....
>>>
>>>
>>>Тоже столкнулся... Дернул. Установил... Тока теперь два перла... Или когда make world
>>>делаешь не надо перл ставить?
>>
>>вообще-то никто не запрещает читать документацию!!!
>>
>Это я знаю.. Читал... Просто интересно нафига мне 2-а перла??????? Два? Один однако... Ну если есть желание использовать системный:
#!/usr/bin/perl5
В остальных случаях всегда ОДИН - тот который установлен из портов и выполнено:
use.perl port
Системный - старый и массе требований НЕ УДОВЛЕТВОРЯЕТ.
В Solaris'ах системный и вовсе четвертый - попробуй с ним что-нить
современное сваять...Так понятно?
>Так понятно?
Понятно. :-)Вопрос вот в чём... :-)
Нафига он мне в системе.. МОжет проще сказате в make.conf не собирать перл...
Вот только не возникнут ли траблы???
www# use.perl port
use.perl: Command not found.
www#
После установки из портов перла 5.8 и use.perl port, потребовалось делать переустановку модулей.
И все модули что переустановил, стали устанавливаться с префиксом /usr/local/.
Так например Spamassassin встал в /usr/local/bin (ранее из портов вставал в /usr/bin) ссылки на файл local.cf в /usr/local/etc/mail (/etc/mail) и так со всеми.
Чем это объяснить?
Получаются в системе модули стоят два раза по одному пути с одним перлом и по другому пути с другим перлом!!!!!