Ошибка обновления perl5

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-25 12:01:37

Подскажите пожалуйста.
Имеется система FreeBSD 11.3 на ней perl5.26
Необходимо обновить perl до последней версии 5.32. Изначально perl был собран из портов, поэтому обновляю через portupgrade. В make.conf добавил:

Код: Выделить всё

DEFAULT_VERSIONS+= perl5.32
После запускаю команду: portupgrade -o lang/perl5.32 -f lang/perl5.26
Система ругается на отсутствие библиотеки: Shared object "libgdbm.so.4" not found, required by "try"

Вот полный вывод ошибки:

Код: Выделить всё

root@unix:~ # portupgrade -o lang/perl5.32 -f lang/perl5.26
[Reading data from pkg(8) ... - 240 packages found - done]
--->  Upgrading 'perl5-5.26.3' to 'perl5-5.32.0' (lang/perl5.32)

--->  Building '/usr/ports/lang/perl5.32' with make flags: -DDISABLE_CONFLICTS
===>  Cleaning for perl5-5.32.0
===>  License ART10 GPLv1+ accepted by the user
===>   perl5-5.32.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by perl5-5.32.0 for building
===>  Extracting for perl5-5.32.0
=> SHA256 Checksum OK for perl/perl-5.32.0.tar.xz.
/bin/ln -s libperl.so.5.32.0 /usr/ports/lang/perl5.32/work/perl-5.32.0/libperl.so
/bin/ln -s libperl.so.5.32.0 /usr/ports/lang/perl5.32/work/perl-5.32.0/libperl.so.5.32
===>  Patching for perl5-5.32.0
===>  Applying FreeBSD patches for perl5-5.32.0 from /usr/ports/lang/perl5.32/files
/usr/bin/sed -i.bak -e 's|/usr/local|/usr/local|g'  /usr/ports/lang/perl5.32/work/perl-5.32.0/Configure /usr/ports/lang/perl5.32/work/perl-5.32.0/hints/freebsd.sh

===>  Configuring for perl5-5.32.0
First let's make sure your kit is complete.  Checking...
Locating common programs...
Checking compatibility between /bin/echo and builtin echo (if any)...
Symbolic links are supported.
Checking how to test for symbolic links...
You can test for symbolic links with 'test -h'.
Checking for cross-compile
No targethost for running compiler tests against defined, running locally
Good, your tr supports [:lower:] and [:upper:] to convert case.
Using [:upper:] and [:lower:] to convert case.

aix                     greenhills              os400
aix_3                   haiku                   posix-bc
aix_4                   hpux                    qnx
altos486                i386                    riscos
amigaos                 interix                 sco
atheos                  irix_4                  sco_2_3_0
aux_3                   irix_5                  sco_2_3_1
bitrig                  irix_6                  sco_2_3_2
bsdos                   irix_6_0                sco_2_3_3
catamount               irix_6_1                sco_2_3_4
convexos                isc                     solaris_2
cxux                    isc_2                   stellar
cygwin                  linux-android           sunos_4_0
darwin                  linux                   sunos_4_1
dcosx                   lynxos                  super-ux
dec_osf                 midnightbsd             svr4
dos_djgpp               minix                   svr5
dragonfly               mips                    ti1500
dynix                   mirbsd                  ultrix_4
dynixptx                mpc                     umips
epix                    ncr_tower               unicos
esix4                   netbsd                  unicosmk
fps                     newsos4                 unisysdynix
freebsd                 nonstopux               utekv
freemint                openbsd                 uwin
gnu                     opus                    vos
gnukfreebsd             os2
gnuknetbsd              os390

Which of these apply, if any? [freebsd]

Some users have reported that Configure halts when testing for
the O_NONBLOCK symbol with a syntax error.  This is apparently a
sh error.  Rerunning Configure with ksh apparently fixes the

problem.  Try
        ksh Configure [your options]

Operating system name? [freebsd]
Operating system version? [11.3-release]
Installation prefix to use? (~name ok) [/usr/local]
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[/usr/local]
Getting the current patchlevel...
Build a threading Perl? [y]

Use which C compiler? [cc]
Checking for GNU cc in disguise and/or its version number...
Now, how can we feed standard input to your C preprocessor...
Directories to use for library searches?
[/usr/lib /usr/local/lib /usr/lib/clang/8.0.0/lib /usr/lib]
What is the file extension used for shared libraries? [so]
Make shared library basenames unique? [n]
Build Perl for SOCKS? [n]
Try to use long doubles if available? [n]
Checking for optional libraries...
What libraries to use? [-lpthread -lgdbm -lm -lcrypt -lutil]
What optimizer/debugger flag should be used?
[-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ]

Any additional cc flags?
[-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include]
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[-pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib]
Checking your choice of C compiler and flags for coherency...
I've tried to compile and run the following simple program:

#include <stdio.h>
int main() { printf("Ok\n"); return(0); }

I used the command:

        cc -o try -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib try.c -lpthread -lgdbm -lm -lcrypt -lutil
         ./try

and I got the following output:

Shared object "libgdbm.so.4" not found, required by "try"
The program compiled OK, but exited with status 1.
You have a problem.  Shall I abort Configure [y]
Ok.  Stopping Configure.

===>  Script "Configure" failed unexpectedly.
Please report the problem to mat@FreeBSD.org [maintainer] and attach the
"/usr/ports/lang/perl5.32/work/perl-5.32.0/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/perl5.32
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20200825-2906-19amown env UPGRADE_TOOL=portupgrade UPGRADE_PORT=perl5-5.26.3 UPGRADE_PORT_VER=5.26.3 make -DDISABLE_CONFLICTS
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! lang/perl5.32 (perl5-5.26.3)  (unknown build error)
root@unix:~ #

Как можно исправить?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

guest
проходил мимо

Ошибка обновления perl5

Непрочитанное сообщение guest » 2020-08-25 15:30:59

# make -C /usr/ports/lang/perl5.32 showconfig | grep -i gdbm
GDBM=off: GDBM_File extension
#

исправить:
- апгрейд или установка gdbm: /usr/ports/databases/gdbm

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-26 8:44:39

Спасибо, Ваш совет помог.
Но теперь столкнулся с новой проблемой. Можете пожалуйста ещё подсказать?
Команда:

Код: Выделить всё

portupgrade -o lang/perl5.32 -f lang/perl5.26
Отработала успешно.

А вот следующая команда, ругается после каждого запуска:

Код: Выделить всё

portupgrade -f `pkg shlib -qR libperl.so.5.26
Ошибка:

Код: Выделить всё

Installing perl5-5.32.0...
pkg-static: perl5-5.32.0 conflicts with perl5.32-5.32.0 (installs files into the same place).  Problematic file: /usr/local/bin/perl5.32.0
*** Error code 70

Stop.
make[2]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/p5-Params-Util
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20200826-918-td4hcw env UPGRADE_TOOL=portupgrade UPGRADE_PORT=p5-Params-Util-1.07_2 UPGRADE_PORT_VER=1.07_2 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! devel/p5-Locale-gettext (p5-Locale-gettext-1.07)      (unknown build error)
        ! devel/p5-Variable-Magic (p5-Variable-Magic-0.62)      (unknown build error)
        ! devel/p5-Locale-libintl (p5-Locale-libintl-1.31)      (unknown build error)
        ! databases/p5-DBI (p5-DBI-1.642)       (unknown build error)
        ! devel/p5-Sub-Identify (p5-Sub-Identify-0.14)  (unknown build error)
        ! devel/p5-Package-Stash-XS (p5-Package-Stash-XS-0.29)  (unknown build error)
        ! devel/p5-Params-Util (p5-Params-Util-1.07_2)  (unknown build error)
root@unix:~ #

guest
проходил мимо

Ошибка обновления perl5

Непрочитанное сообщение guest » 2020-08-26 11:18:56

portupgrade -f `pkg shlib -qR libperl.so.5.26
эту команду можно запускать много раз, если знаете что она делает,
решение само придет:

# man pkg-shlib - расскажет что делает команда (показывает все пакеты зависящие от старой библиотеки):
# pkg shlib -qR libperl.so.5.26
...
p5-Name1-version
p5-Name2-version
...
все старые перловые модули, которые зависит от старой библиотеки,
Вам их нужно пересобрать, что и пытается сделать portupgrade.
portupgrade может завершаться ошибкой, запускаете снова - смотрите
продвигается он в пересборке perl модулей, если да - все ok.
Если нет, пересобираете руками с reinstall (ну или deinstall -> затем install)

на пальцах:
portupgrade lalala - один модуль установил, на другом упал, снова
portupgrade lalala - снова один установил и упал и так далее...
вот если он заткнулся и ни с места, тогда совет выше.

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-26 11:34:12

guest спасибо большое Вам за помощь и разъяснения
Теперь я понял, попробую устранить ошибки...

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-26 15:18:07

Что то я делаю неправильно...
Судя по предыдущей ошибке, portupgrade не может самостоятельно пересобрать следующие компоненты:

Код: Выделить всё

        ! devel/p5-Locale-gettext (p5-Locale-gettext-1.07)      (unknown build error)
        ! devel/p5-Variable-Magic (p5-Variable-Magic-0.62)      (unknown build error)
        ! devel/p5-Locale-libintl (p5-Locale-libintl-1.31)      (unknown build error)
        ! databases/p5-DBI (p5-DBI-1.642)       (unknown build error)
        ! devel/p5-Sub-Identify (p5-Sub-Identify-0.14)  (unknown build error)
        ! devel/p5-Package-Stash-XS (p5-Package-Stash-XS-0.29)  (unknown build error)
        ! devel/p5-Params-Util (p5-Params-Util-1.07_2)  (unknown build error)
Я поудалял эти компоненты make deinstall clean
Теперь пробую каждый по отдельности поставить через make install clean, но у всех компонентов вижу одинаковую ошибку. Как будто бы freebsd пытается заново установить perl5...

Код: Выделить всё

Installing perl5-5.32.0...
pkg-static: perl5-5.32.0 conflicts with perl5.32-5.32.0 (installs files into the same place).  Problematic file: /usr/local/bin/perl5.32.0
*** Error code 70

Stop.
make[3]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/p5-DBI
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/p5-DBI
root@unix:/usr/ports/databases/p5-DBI #
Так же не получается обновить ни одну программу (squid, apache24 и т.д.), зависящую от perl5

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-26 23:40:57

Reken,
Прости пожалуйста, а UPDATING портовый нифига не почитать?
да и в make.conf сделал ошибку
DEFAULT_VERSIONS+= perl5=5.32
после чего можно было просто запустить portupgrade -frR perl5.26, он бы и обновил до 5.32

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 8:02:37

Да я читал инструкцию, там написано если обновляться до perl5.32 то согласно инструкции 20161103
В этой инструкции указано, что в make.conf добавить perl5 который по умолчанию будет использоваться. Я кстати его правильно там прописал, я на форуме ошибку допустил(опечатался). Но мне не совсем понятно, зачем в make указывать perl5.32 когда он и так по умолчанию в FreeBSD используется...
Дальше по инструкции выполнил команды:

Код: Выделить всё

portupgrade -o lang/perl5.32 -f lang/perl5.26
portupgrade -f `pkg shlib -qR libperl.so.5.26`
Ну а дальше ошибки полезли...

Всё по инструкции делал, вот теперь думаю, как всё таки починить perl5. Либо с dupmа восстановиться и всё снова попробовать выполнить, либо этот perl5 как то восстановить.

guest
проходил мимо

Ошибка обновления perl5

Непрочитанное сообщение guest » 2020-08-27 9:00:25

First, add to /etc/make.conf:

DEFAULT_VERSIONS+= perl5=5.24

Portupgrade users:
portupgrade -o lang/perl5.24 -f lang/perl5.20

You can now remove the DEFAULT_VERSIONS line added earlier
from /etc/make.conf

Then you will need to rebuild everything that uses libperl.so, you
can do so with:

portupgrade -f `pkg shlib -qR libperl.so.5.20`

If, for some reason, this command fails at one point, it is safe to
run it again, it will not rebuild what it already rebuilt, as the
ports that have been rebuilt no longer depend on libperl.so.5.20 but
on libperl.so.5.24.
перевести?

Первое:
- добавляем в /etc/make.conf DEFAULT_VERSIONS+= новый перл
Второе:
- производим замену переменной в локальном репозитории: -o lang/перлновый
и устанавливаем новый
в терминах pkg это будет:
# pkg set -o lang/perl5.24:lang/perl5.32
# pkg install -Rf lang/perl5.32

Третье:
- теперь УДАЛЯЕМ DEFAULT_VERSIONS из /etc/make.conf
и пересобираем все perl-модули которые зависят от старой библиотеки:
...

Делов на "5 копеек".

За portupgrade не скажу, а c portmaster не испытываю проблем, ровно как
если и руками это сделать, как - расписано выше.

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 9:12:57

Попробую всё сначала сделать...Восстановлюсь из dupmа и т.д.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-27 9:44:21

Там основная трудность состоит в том, что, perl5 это ссылка на perl5.XX, и при установке без указания в make.conf эта ссылка не обновляется, а старый perl5.XX удаляется, в данном случае libperl.so.5.26, отсюда и все проблемы, при установке модуля переустанавливаеся перл, а он уже в системе и конфликтует сам с собой, ну и т.д. Я не рекомендовал бы удалять DEFAULT_VERSIONS из make.conf

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 10:25:43

Блин, как можно так зависнуть на perl5...

Пишу пошагово, как делаю и в итоге облом...
1) Восстановился из дампа, всё пашет но нужно perl обновлять
2) # make -C /usr/ports/lang/perl5.32 showconfig | grep -i gdbm
GDBM=off: GDBM_File extension
3) переустонавливаю из портов gdbm (make reinstall clean)
4) В make.conf пишу: DEFAULT_VERSION+= perl5=5.32
5) # pkg set -o lang/perl5.24:lang/perl5.32
# pkg install -Rf lang/perl5.32
6) Удаляю из make.conf строчку относительно perl
7) root@unix:~ # portupgrade -f `pkg shlib -qR libperl.so.5.26`
И вижу следующее:

Код: Выделить всё

[Reading data from pkg(8) ... - 241 packages found - done]
** Port marked as IGNORE: devel/p5-Params-Util:
        Invalid perl5 version 5.26
** Port marked as IGNORE: devel/p5-Package-Stash-XS:
        Invalid perl5 version 5.26
** Port marked as IGNORE: devel/p5-Sub-Identify:
        Invalid perl5 version 5.26
** Port marked as IGNORE: databases/p5-DBI:
        Invalid perl5 version 5.26
** Port marked as IGNORE: devel/p5-Locale-libintl:
        Invalid perl5 version 5.26
** Port marked as IGNORE: devel/p5-Variable-Magic:
        Invalid perl5 version 5.26
** Port marked as IGNORE: devel/p5-Locale-gettext:
        Invalid perl5 version 5.26
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        - devel/p5-Params-Util (marked as IGNORE)
        - devel/p5-Package-Stash-XS (marked as IGNORE)
        - devel/p5-Sub-Identify (marked as IGNORE)
        - databases/p5-DBI (marked as IGNORE)
        - devel/p5-Locale-libintl (marked as IGNORE)
        - devel/p5-Variable-Magic (marked as IGNORE)
        - devel/p5-Locale-gettext (marked as IGNORE)
root@unix:~ #
Пробую вручную пересобрать эти p5 и вижу следующее:

Код: Выделить всё

root@unix:/usr/ports/devel/p5-Params-Util # make reinstall clean
===>  p5-Params-Util-1.07_2 Invalid perl5 version 5.26.
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/p5-Params-Util
root@unix:/usr/ports/devel/p5-Params-Util #
Подскажите пожалуйста, как можно обновить этот perl5 ? Вместо portupgrade использовать portmaster?

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-27 10:34:04

6 и 7 пункт выполнять не надо

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 10:41:09

Так всё тогда что ли? Perl обновлен после 5-го пункта?
Можно пробовать обновлять программы которые зависят от perl5 (squid, apache и т.д.)?

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-27 10:41:29

вы бы посмотрели бы, что у вас стоит в системе связанное с перлом и их зависимости
Добавьте в make.conf DEFAULT_VERSION+= perl5=5.32 и не надо это удалять,
и обновляйте все остальное...

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 10:55:17

А что можно с этим сделать? Точнее правильнее сделать как?

Код: Выделить всё

root@unix:~ # portupgrade -rR squid
[Reading data from pkg(8) ... - 241 packages found - done]
[Gathering depends for www/squid .. done]
** Duplicated origin - lang/perl5.32: perl5-5.26.3 perl5.32-5.32.0
** Run 'pkgdb -F' to interactively fix them.

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 11:09:43

У меня сейчас в системе и perl32 и perl26. Наверное 26 нужно удалить?

Аватара пользователя
novik
мл. сержант
Сообщения: 146
Зарегистрирован: 2018-07-26 23:52:57

Ошибка обновления perl5

Непрочитанное сообщение novik » 2020-08-27 12:51:50

Reken писал(а):
2020-08-27 10:55:17
perl5.32-5.32.0
Откуда у вас этот пакет появляется? У него название не правильное. Пакет должен быть perl5 а не perl5.32
«О сколько нам открытий чудных готовит просвещения дух...»™

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Ошибка обновления perl5

Непрочитанное сообщение Demis » 2020-08-27 13:28:47

Reken писал(а):
2020-08-27 10:55:17
А что можно с этим сделать?
Reken писал(а):
2020-08-27 10:55:17
правильнее сделать
Reken писал(а):
2020-08-27 10:55:17
** Run 'pkgdb -F' to interactively fix them.

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-27 16:47:21

'pkgdb -F' не работает, пишет что бы использовал pkg check...
Что то никак не получается обновить perl5. Я уже подумываю о том что бы заново всё собрать с "0" на чистой FreeBSD...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Ошибка обновления perl5

Непрочитанное сообщение Demis » 2020-08-27 18:57:00

Reken писал(а):
2020-08-27 16:47:21
бы заново всё собрать с "0" на чистой
Не стоит расстраиваться. Попробуйте разобраться. Guest дельные советы давал.
Reken писал(а):
2020-08-27 10:25:43
Вместо portupgrade использовать portmaster?
Тут лучше очень внимательно прочитать https://forums.freebsd.org/threads/port ... ost-383947

Код: Выделить всё

As such the given Portmaster command in UPDATING entry 20161103 is wrong 
(it was somewhat right at the time of writing, but things change).
И там, далее по тексту, объяснение...
Как-то давно цитировал себя, правда там все уже жутко устарело и пылью покрылось, и относится больше к системе, хотя порты тоже затронуты, т.к. с них все и началось freebsd-f8/strannaya-problema-s-zfs-i-s ... ml#p377075
Смущает другое:
Reken писал(а):
2020-08-27 10:25:43
root@unix:/usr/ports/devel/p5-Params-Util # make reinstall clean
Если правильно помню, то это раскладывается как

Код: Выделить всё

make reinstall
make clean
и это может мешать, т.е. на самом деле если директория уже была "в работе", то многое там откомпилированное "закешировалось".
И тогда нужно наоборот

Код: Выделить всё

make clean
make reinstall
(и кстати, какой реинсталл, если его (в смысле этой версии) в системе не было?
Бывает, на сложном софте, глючит и лучше make install). Хотя не думаю, что это дельный совет.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-27 20:41:36

Reken,
А pkg info | grep perl что кажет, и содержимое /etc/make.conf покажите...
Такая фигня у меня была на 10.2, только переход был с 5.20 на 5.28, вылечилось тем, чем я раньше писал, DEF..= perl5=5.28, затем через pkg удалял, ключ -f чтобы удалить только перл, а не всего от него зависящего, упоминание о перле и его модулях в базе pkg, ну и потом в порты и ставил с портов 5.28, на втором сервер сразу прописал в make.conf версию, ну а затем portupgrade -frR perl5, он сразу обновил до 5.28 и пересобрал зависящий от перла софт

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-28 8:45:30

Спасибо за помощь.
На данный момент на FreeBSD (после всех моих вмешательств по обновлению perl) картина выглядит следующим образом:

Код: Выделить всё

root@unix:~ # pkg info | grep perl
p5-Log-Log4perl-1.50           Log4j implementation for Perl
perl5-5.32.0                   Practical Extraction and Report Language
perl5.28-5.28.3                Practical Extraction and Report Language

В /etc/make.conf у меня всего одна строчка:
DEFAULT_VERSIONS+= perl5=5.32
Может попробовать как snorlov говорит, попробовать:
pkg delete -f perl5
А после из портов собрать perl32

Вариант, где нужно в make.conf указать perl а после выполнить portupgrade -frR perl5, не сработал, ошибки полезли...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Ошибка обновления perl5

Непрочитанное сообщение snorlov » 2020-08-28 9:09:45

О как интересно, 2-а перла в базе pkg... Когда же вы 5.28 поставили??? Сносите оба

Reken
лейтенант
Сообщения: 619
Зарегистрирован: 2014-06-30 11:23:24

Ошибка обновления perl5

Непрочитанное сообщение Reken » 2020-08-28 9:26:29

Я сам немогу понять откуда perl28 вылез...Специально я его не ставил, после portupgrade появился.
Сейчас я снес всю эту троицу с ключом -f

Код: Выделить всё

p5-Log-Log4perl-1.50           Log4j implementation for Perl
perl5-5.32.0                   Practical Extraction and Report Language
perl5.28-5.28.3                Practical Extraction and Report Language
Из портов поставил perl32
Теперь вывод команды выглядит так:

Код: Выделить всё

root@unix:~ # pkg info | grep perl
perl5-5.32.0                   Practical Extraction and Report Language
Вот теперь думаю, как дальше лучше поступить. Попробовать какой нибудь софт попробовать пересобрать зависящий от perl, допустим apache24. Если успешно то и весь остальной пересобрать.
Только вот думаю как лучше:
portupgrade -rR apache24 или portupgrade -frR apache24