Страница 1 из 1

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 9:33:35
BeginnerBSD
Не собирается порт. До установки стоял perl5.16, был видимо неаккуратно снесен и поставлен 5.18.

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

root@server:/usr/ports/www/lightsquid # make && make install clean
===>  Staging for lightsquid-1.8_2
===>   lightsquid-1.8_2 depends on package: p5-GD>=0 - not found
===>    Verifying install for p5-GD>=0 in /usr/ports/graphics/p5-GD
===>  Building for p5-GD-2.56_2
Building GD
cc -shared -L/usr/ports/lang/perl5.18/work/perl-5.18.4 -L/usr/local/lib/perl5/5.18/mach/CORE -Wl,-rpath=/usr/local/lib/perl5/5.18/mach/CORE -lperl -L/usr/local/lib -fstack-protector -o blib/arch/auto/GD/GD.so lib/GD.o -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -ljpeg -lz -lm -L/usr/local/lib -lpng15 -L/usr/local/lib -lfreetype -lfontconfig -L/usr/local/lib -lfreetype -lfontconfig -L/usr/local/lib -ltiff -lgd
/usr/bin/ld: cannot find -lpng15
error building blib/arch/auto/GD/GD.so from lib/GD.o at /usr/local/lib/perl5/5.18/ExtUtils/CBuilder/Base.pm line 312.
*** [do-build] Error code 2

Stop in /usr/ports/graphics/p5-GD.
*** [run-depends] Error code 1

Stop in /usr/ports/www/lightsquid.
*** [stage] Error code 1

Stop in /usr/ports/www/lightsquid.
Дайте пожалуйста конкретные рекомендации, как можно починить перл без переустановки системы.

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 10:51:12
wien
обнови порты и пробуй еще раз

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 11:46:42
snorlov
Переустановите связанное с png15

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 11:56:01
BeginnerBSD
wien писал(а):обнови порты и пробуй еще раз
Порты актуальны.
snorlov писал(а):Переустановите связанное с png15
portupgrade -arR не дал результатов.

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 14:37:51
snorlov
BeginnerBSD писал(а):
wien писал(а):обнови порты и пробуй еще раз
Порты актуальны.
snorlov писал(а):Переустановите связанное с png15
portupgrade -arR не дал результатов.

Ну значит нет, надо поставить, иначе откуда

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

/usr/bin/ld: cannot find -lpng15

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 16:07:21
Neus
Ты забыл ключ -f

Актуальная версия libpng 1.6, а у тебя линкует с 1.5

А пакетами не проще ставить ?

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 17:48:24
BeginnerBSD
snorlov писал(а):
BeginnerBSD писал(а):
wien писал(а):обнови порты и пробуй еще раз
Порты актуальны.
snorlov писал(а):Переустановите связанное с png15
portupgrade -arR не дал результатов.
Ну значит нет, надо поставить, иначе откуда

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

/usr/bin/ld: cannot find -lpng15
Как я его поставлю, если нет libpng 1.5 в портах? В портах версия 1.6.
Neus писал(а):Ты забыл ключ -f
Ок. Пересобираю всё. Похоже, это надолого. О результатах сообщу.
А пакетами не проще ставить ?
Проще, но я хочу починить порты. Стройная и четкая система дала сбой, не исключено что из-за моих кривых рук. Я хочу её починить с вашей помощью.

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 17:51:48
snorlov
Внимательнее надо читать UPDATING, да и перед обновлением посмотреть что говорит portversion -v

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 18:38:39
BeginnerBSD
Внимательнее читать UPDATING перед установкой любого порта? Прочитал я UPDATING. Есть там:

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

20141225:
  AFFECTS: users of graphics/png
  AUTHOR: antoine@FreeBSD.org

  The PNG library has been updated to version 1.6.16.  Please rebuild all
  ports that depend on it.

  If you use portmaster:
        portmaster -r png
  If you use portupgrade:
        portupgrade -fr graphics/png
Как бы мне это помогло?

Отправлено спустя 17 минут 5 секунд:
Закончили бежать портянки portupgrade -arRf. Ничего не починилось. Как не собирался порт www/lightsquid, так и не собирается. Требует, собака, libpng15. Почему?

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 18:58:07
snorlov
Ваша проблема в следующем, посмотрите на лог, проблема в том, что кто-то поставил/обновил perl5.16 на 5.18 и забыл при этом обновить ссылки дополнительных модулей на новую версию, в результате вроде бы либа (модуль) есть, но в перле ее нет... Я на такое в молодости напоролся, когда ставил smbldap-tools, там куча модулей, завязанных на перл, т.е. в портах оказалась новая версия перла, но не зависящих от него модулей, перл я обновил, а вот про модули забыл и получил невозможность администрирования домена.
Раз пользуетесь portupgrade, не забывайте ключик -f, он заставит принудительно пересобрать все и обновит ссылки. Я к примеру, сначала обновляю на новые версии через -fR, а потом все равно запускаю полную пересборку всего софта через -afrR. Если есть тестовый комп, то на нем все сношу и ставлю как бы с нуля, после чего создаю пакеты и именно их ставлю на боевой комп

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 19:07:09
BeginnerBSD
Перед Вашим постом закончилось afrR, результатов нет. Советуете выполнить сначала -fR?
Что мне сейчас-то делать, чтобы привести порты в порядок, и чтобы вся перловка стала нормально собираться?
Есть ли быстрое решение, или сносить систему придется?

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-02 21:59:37
snorlov
Начните с updating

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

portupgrade -fr graphics/png

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-03 10:41:15
BeginnerBSD
Выполнил

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

portupgrade -fr graphics/png
Результат тот же

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

root@server:/usr/ports/www/lightsquid # make && make install clean
===>  Staging for lightsquid-1.8_2
===>   lightsquid-1.8_2 depends on package: p5-GD>=0 - not found
===>    Verifying install for p5-GD>=0 in /usr/ports/graphics/p5-GD
===>  Building for p5-GD-2.56_2
Building GD
cc -shared -L/usr/ports/lang/perl5.18/work/perl-5.18.4 -L/usr/local/lib/perl5/5.18/mach/CORE -Wl,-rpath=/usr/local/lib/perl5/5.18/mach/CORE -lperl -L/usr/local/lib -fstack-protector -o blib/arch/auto/GD/GD.so lib/GD.o -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -ljpeg -lz -lm -L/usr/local/lib -lpng15 -L/usr/local/lib -lfreetype -lfontconfig -L/usr/local/lib -lfreetype -lfontconfig -L/usr/local/lib -ltiff -lgd
/usr/bin/ld: cannot find -lpng15
error building blib/arch/auto/GD/GD.so from lib/GD.o at /usr/local/lib/perl5/5.18/ExtUtils/CBuilder/Base.pm line 312.
*** [do-build] Error code 2

Stop in /usr/ports/graphics/p5-GD.
*** [run-depends] Error code 1

Stop in /usr/ports/www/lightsquid.
*** [stage] Error code 1

Stop in /usr/ports/www/lightsquid.

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-03 10:55:52
snorlov
А приведите ка

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

pkg_info | grep png
или если установлен pkg

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

pkg info | grep png
ну и версию ос

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-03 14:46:00
BeginnerBSD

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

root@server:/usr/ports/www/lightsquid # uname -opr
FreeBSD 9.3-STABLE amd64

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

root@server:/usr/ports/www/lightsquid # pkg info | grep png
png-1.6.16                     Library for manipulating PNG images

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-03 15:41:54
snorlov
Переходите в каталог /usr/ports/graphics/p5-GD, делайте

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

make clean
и запускайте его установку, там наверняка будут ошибки, вы их сюда и выкладывайте, там в каком-то пакете есть ссылка на версию png 1.5, а у вас стоит уже 1.6, можно конечно ручками сделать соответсвующий линк, но это не наш путь...

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-03 17:55:27
BeginnerBSD
Ураа!! Cделал

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

make clean && make && make install clean
- пересобрался png и затем замечательно собрался ligthsquid. Огромное спасибо, snorlov! Только остался один вопрос у меня - почему portupgrade не смог сделать это?

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-04 0:55:14
Neus
Очевидно что port upgrade не делает make clean перед пересборкой :)
Я так думаю!

кто-нибудь может помочь с перлом?

Добавлено: 2015-03-04 14:35:21
guest
BeginnerBSD писал(а):Ураа!! Cделал

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

make clean && make && make install clean
- пересобрался png и затем замечательно собрался ligthsquid. Огромное спасибо, snorlov! Только остался один вопрос у меня - почему portupgrade не смог сделать это?
потому что не читаете /usr/ports/UPDATING и не хотите учиться