Я пытаюсь установить coreutils на NetBSD 6.1.5 с помощью системы pkgsrc.
Это на установке по умолчанию 6.1.5. Единственное изменение, которое было сделано, это установка zsh и настройка его как оболочки по умолчанию для пользователей root и любых локальных пользователей.
Как и в случае с pkgsrc, я перехожу в каталог с иерархией pkgsrc, содержащей пакет, который я хочу установить. В данном случае это/usr/pkgsrc/sysutils/coreutils
Когда я вхожу в этот каталог как root, я набираю
делать
и затем получаю ошибку:
configure: error: you should not run configure as root (set
FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
*** Error code 1
Это нетипично при использовании pkgsrc от имени root и, похоже, характерно только для пакетов gnu, поскольку я не сталкивался с этим ни с одним другим пакетом в pkgsrc.
Когда я делаю это как обычный пользователь в том же каталоге, у меня нет разрешения на запись в какой-либо каталог в/usr/pkgsrcи make не удается из-за кучи ошибок отказа в доступе. Например:
sh: Cannot create configure.override: permission denied.
Копирование каталога пакета в место, где у локального пользователя есть права на запись, и компиляция, по-видимому, не соответствуют использованию pkgsrc.
Должен ли пользователь быть членом специальной группы для использования pkgsrc?
решение1
Попробуйте выполнить команду, указанную в сообщении об ошибке:
export FORCE_UNSAFE_CONFIGURE=1 && make
При этом, правда, что требование "небезопасной конфигурации" кажется немного странным. Дважды проверьте журнал (config.log) и посмотрите, нет ли там чего-то более явного.
решение2
В качестве альтернативы, прочитайте doc/pkgsrc.txt
и посмотрите на WRKOBJDIR
. Установите его (в /etc/mk.conf
) в каталог, доступный для записи как непривилегированный пользователь, от имени которого вы хотите выполнить сборку.
Инфраструктура pkgsrc
запросит пароль пользователя root, когда придет время установить созданный вами пакет.