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 часа


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

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


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

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