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. Времени на переход и перевод серверов было дано достаточно.