понедельник, 19 мая 2014 г.

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

После 5 мая многие могли в очередной раз столкнуться с багами портов, а именно:
# 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

Это связано с обновлением makefile-ов на новый синтаксис, который не понимает не совсем актуальный make
Решения 3:
1) наиболее правильный. Обновить систему до актуальной версии, то есть 8.4, 9.2.
7 и более ранние в пролёте.
2) поставить bmake, откатив порты через portdowngrade до апреля (если оно стояло), через pkg install bmake (если использовался pkgng) или собрать на другой машине пакет с ним
потом заменить системный make
# mv /usr/bin/make /usr/bin/make.old
# ln /usr/local/bin/bmake /usr/bin/make
3) поддерживать всю систему пакетов самому

Есть ещё 4 метод -- перейти на линукс, там нет портов и проблем с ними :)

Линки
http://www.bsdportal.ru/viewtopic.php?f=9&t=26652
https://forums.freebsd.org/viewtopic.php?f=5&t=46423

Комментариев нет:

Отправить комментарий