BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: обновление портов после 5 мая 2014.
СообщениеДобавлено: Пн 12 май, 2014 1:29 pm 
Не в сети

Зарегистрирован: Чт 12 авг, 2010 3:55 pm
Сообщения: 11
день добрый всем. есть несколько серверов с не сказать, чтобы новыми версиями FreeBSD, после обновления дерева портов через portsnap, вылезли косяки при выполнении make команды в любых портах.
например, в нгинкс

[root@1 /usr/ports/www/nginx]# make
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 1767: Malformed conditional (defined(USE_RC_SUBR) && ${USE_RC_SUBR:tu} != "YES")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.

"/usr/ports/Mk/bsd.port.mk", line 6708: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6708: Unexpected end of file in for loop.

make: fatal errors encountered -- cannot continue


собственно иду в /usr/ports/CHANGES и вижу следующий текст:

"20140505:
AUTHOR: bapt@FreeBSD.org

:U and :L syntax is not supported anymore in the ports tree, :tu and :tl
should be used instead

This makes the ports tree incompatible with make(1) version that does not
support :tu and :tl (aka FreeBSD 8.3 and earlier)"

вопрос. Есть ли жизнь, после смерти или чего дальше делать? как обновлять порты? вариант обновить ОС конечно замечательный, но хотелось бы не все сразу, а постепенно. а сейчас какой-нибудь костыль ;(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 12 май, 2014 2:20 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2510
rmir писал(а):
день добрый всем. есть несколько серверов с не сказать, чтобы новыми версиями FreeBSD, после обновления дерева портов через portsnap, вылезли косяки при выполнении make команды в любых портах.
например, в нгинкс

[root@1 /usr/ports/www/nginx]# make
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 1767: Malformed conditional (defined(USE_RC_SUBR) && ${USE_RC_SUBR:tu} != "YES")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.

"/usr/ports/Mk/bsd.port.mk", line 6708: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6708: Unexpected end of file in for loop.

make: fatal errors encountered -- cannot continue


собственно иду в /usr/ports/CHANGES и вижу следующий текст:

"20140505:
AUTHOR: bapt@FreeBSD.org

:U and :L syntax is not supported anymore in the ports tree, :tu and :tl
should be used instead

This makes the ports tree incompatible with make(1) version that does not
support :tu and :tl (aka FreeBSD 8.3 and earlier)"

вопрос. Есть ли жизнь, после смерти или чего дальше делать? как обновлять порты? вариант обновить ОС конечно замечательный, но хотелось бы не все сразу, а постепенно. а сейчас какой-нибудь костыль ;(


У Вас два варианта:

1) поднять 8.3 как минимум до 8.4 (которая пока поддерживается)
2) выполнить downgrade портов любым способом - установить из апрельских портов bmake
и заменить на него системный make:

# cd /usr/ports/devel/bmake
# make install clean
# mv /usr/bin/make /usr/bin/make.old
# ln /usr/local/bin/bmake /usr/bin/make

других альтернатив нет, 8.3 и 9.0 не поддерживается, произведен переход на clang/llvm и обновлен
системный make, а с 10.0 и системный заменен на bmake.

Ну можно еще установить в виртуалке 8.4 - собрать bmake и скопировать в 8.3 - по идее не должно
возникнуть проблем.

А "есть ли жизнь на Марсе...", это уже никого не волнует, желаете оставаться на 8.3 - Ваше право,
точите дерево портов самостоятельно, переписывайте Makefiles или перелопатьте под себя
/usr/ports/Mk/*

ps. Времени на переход и перевод серверов было дано достаточно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 12 май, 2014 2:36 pm 
Не в сети

Зарегистрирован: Чт 12 авг, 2010 3:55 pm
Сообщения: 11
ясно, спасибо, видимо я это время проворонил ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вт 13 май, 2014 10:29 am 
Не в сети

Зарегистрирован: Вт 13 май, 2014 10:24 am
Сообщения: 1
В принципе можно и без downgrade портов. Поставить bmake из пэкеджей - вполне работоспособный метод, проверено на себе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср 21 май, 2014 8:52 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср 30 сен, 2009 7:03 am
Сообщения: 21
Я сделал на мой взгляд проще всего :D
Установил виртуальную машину с последним валидным релизом FreeBSD забрал оттуда файл /usr/bin/make и просто заменил его ;)
Всё заработало как и ранее. Удачи!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 14 июл, 2014 12:30 pm 
Не в сети

Зарегистрирован: Пн 14 июл, 2014 12:25 pm
Сообщения: 1
После подмены make во многих портах сборка падает с ошибкой "don't know how to make dirsyntax. stop", мне помогло - mv /usr/share/mk/ /usr/share/mk.old&&svn co http://svn.freebsd.org/base/stable/10/share/mk/ /usr/share/mk
гугл не знал данного решения, может кому-то еще поможет)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср 16 июл, 2014 10:30 am 
Не в сети
Аватара пользователя

Зарегистрирован: Ср 30 сен, 2009 7:03 am
Сообщения: 21
А вы порты обновили перед заменой на новый make? Ветки систем не перепутаны т.е. не заменён make с 8-ой ветки на 9-ой и наоборот?
У меня проблемы с make начались именно с обновления системы. Порты то нормально обновились, а обновление системы сваливалось с ошибкой. Я заменил как описал выше и без проблемно обновляюсь с тех пор.
ПыСы только что обновил порты и систему.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика