Если вдруг при установке порта начали валится ошибки
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.port.mk", line 1775: Malformed conditional (defined(USE_LDCONFIG) && ${USE_LDCONFIG:tl} == "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'
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
то скорее всего у вас слишком старая ОС и слишком новые порты. Выход напрашивается очевидный – обновить ОС. Но не всегда это возможно, а установить что-то хочется, причём свежее да и из портов. Есть один грязный хак (успешно протестирован в боевых условиях только 1 раз!!!), который позволяет собирать новые порты на очень старой ОС.
Тестовый стенд: FreeBSD 7.4 amd64 Release
Причина кроется в обновлении мета-файлов в папке /usr/port/Mk именно 20.01.2014. Поэтому, если вы хотите собирать новые порты на старой ОС, очень важно иметь все файлы из этой папки до указанной даты. Любые новые файлы, датированные позже 20.01.2014 в папке /usr/port/Mk будут генерировать разного рода ошибки и не давать собираться НИКАКИМ портам. Скорее всего у вас они уже затёрлить новыми. Тогда выход один – искать машину со старой ОС и вытягивать нужные файлы оттуда. Я собственно так и сделал. После этого никаких ошибок не появлялось и порты успешно собрались:
# uname -r 7.4-RELEASE-p12 # pkg_info | grep salt py27-salt-2014.1.5 Distributed remote execution and configuration management s # ls -la /usr/ports/sysutils/py-salt total 172 drwxr-xr-x 3 root wheel 512 Jun 20 13:11 . drwxr-xr-x 1071 root wheel 22016 Jun 20 12:56 .. -rw-r--r-- 1 root wheel 2455 Jun 20 07:22 Makefile -rw-r--r-- 1 root wheel 135 Jun 20 07:22 distinfo drwxr-xr-x 2 root wheel 512 Jun 20 12:56 files -rw-r--r-- 1 root wheel 271 Aug 17 2013 pkg-descr -rw-r--r-- 1 root wheel 51719 May 5 21:28 pkg-plist
Примечание.
Но такое помогает не всегда. Вот еще пару советов, которые нашёл в сети:
a) https://svnweb.freebsd.org/ports?view=revision&revision=352986
b)
В 8.3 достаточно обновить make, взяв sources от 8.4, и перейти на pkg.
В шестерке, насколько я понимаю, глухой номер (bad system call).
В семерке возможно, но непросто: https://raw.githubusercontent.com/yaneurabeya/scratch/master/docs/cheatsheets/freebsd
Можно еще попробовать вручную изменить OSVERSION в /etc/make.conf:
OSVERSION=1300000
Один коментар до ““/usr/ports/Mk/bsd.port.mk” Malformed conditional”
Хм. Достаточно заменить в двух или трёх файлах иерархии /usr/port/Mk подстановки переменных “:tl” на “:L”, а “:tu” на “:U”. Подробности смотрите man make, например, для FreeBSD 8.3(и ниже) и FreeBSD 8.4 (и выше).