Рейтинг:0

./configure: ошибка: невозможно определить рабочий каталог

флаг in

Я очень расстроен этой ошибкой. теперь стоит отметить, что запустив cd "$(pwd)" и повторив все переменные окружения, вроде все в порядке.

В настоящее время я пытаюсь установить unrealrcd 5.2.0.1 (НО я получаю эту ошибку при запуске НИЧЕГО, связанного с ./configure script)

Вот мой вывод для притворства моей ошибки:

 _ _ _ ___________ _____ _
| | | | | |_ _| ___\/__\ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _ | | | | | / | | / _ |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
 \___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|

                               Программа конфигурации
                                для UnrealIRCd 5.2.0.1
[СНИП]
Вы хотите передать какие-либо пользовательские параметры для настройки?
Большинству людей это не нужно, и они могут просто нажать ENTER.
В противном случае см. `./configure --help' и напишите их здесь:
[] ->
Запуск с 4 одновременными процессами сборки по умолчанию (make -j4).
./configure --with-showlistmodes --enable-ssl --with-maxconnections=9999999 --with-bindir=/root/unrealircd/bin --with-datadir=/root/unrealircd/data --with-pidfile= /root/unrealircd/data/unrealircd.pid --with-confdir=/root/unrealircd/conf --with-modulesdir=/root/unrealircd/modules --with-logdir=/root/unrealircd/logs --with- cachedir=/root/unrealircd/cache --with-docdir=/root/unrealircd/doc --with-tmpdir=/root/unrealircd/tmp --with-privatelibdir=/root/unrealircd/lib --with-scriptdir= /root/unrealircd --with-nick-history=100 --with-permissions=0600 --включить динамическое связывание
настроить: ошибка: рабочий каталог не может быть определен

теперь, как я уже сказал, я получаю эту ошибку при установке НИЧЕГО, включающего сценарий ./configure. также стоит отметить, что как любой пользователь я не могу запустить ./configure с теми же ошибками.

cating /etc/passwd указывает правильный домашний каталог для указанных пользователей.

Теперь, в чем моя проблема здесь?

флаг cn
Ray
Означает ли «при установке ЧЕГО-НИБУДЬ, включающего ./configure», что любой скрипт «configure», а не только программа, которую вы упомянули выше, вызывает указанную выше проблему? Кроме того, ваша проблема не связана с `g++`, `gcc` или `cmake` (насколько я могу судить). Итак, я удалил их из ваших тегов.
Freak avatar
флаг in
любой скрипт настройки
HuHa avatar
флаг es
Вы запускаете это как root? Не делай этого. Заключительная часть («make install») требует прав суперпользователя, и ее следует запускать как «sudo make install». Но уж точно **не** часть `./configure` или часть `make`. Вы открываете дверь настежь для любых злоумышленников.
HuHa avatar
флаг es
«любой сценарий настройки» — смелое утверждение. Я не верю в это. Я почти уверен, что это ограничено _this_ скриптом configure.
флаг hr
Если это действительно *является* "любым скриптом настройки", то это говорит о проблеме с макросом autoconf `_AC_INIT_DIRCHECK` (или с одной из команд, на которые он опирается - `pwd`, `ls`, `cd`)
Freak avatar
флаг in
Мои pwd, ls и cd работают как положено. и эта ошибка не ограничивается только _этим_ скриптом configure. Как исправить/изменить макрос _AC_INIT_DIRCHECK? это переменная окружения?
флаг hr
@Freak Я добавил ответ с некоторой информацией и советами по отладке ниже
Рейтинг:1
флаг es

В документации четко сказано:

https://www.unrealircd.org/docs/FAQ#Compile.2Fbuild_problems

Проблемы с компиляцией/сборкой

Я запустил ./configure и получил массу проблем

НЕ используйте ./configure! Вместо этого запустите ./Config.

https://www.unrealircd.org/docs/Installing_from_source

Компиляция

Сначала запустите скрипт ./Config, который задаст ряд вопросов. Вы можете просто нажать Enter, чтобы принять ответы по умолчанию.

./Конфигурация

Теперь скомпилируйте UnrealIRCd, запустив make, это может занять минуту (или две):

делать

Freak avatar
флаг in
Я использовал ./Config, он запускает configure как часть своего выполнения. он запускается только ./configure в конце. и, как я уже сказал, эта ошибка возникает вместе с выполнением других скриптов, использующих ./configure.
Рейтинг:0
флаг hr

Условно, настроить это сценарий оболочки POSIX, созданный из настроить.ac или же настроить.in файл шаблона GNU автоконф программа - либо во время установки, либо перед распространением сопровождающим программы.

Сообщение об ошибке

настроить: ошибка: рабочий каталог не может быть определен

исходит из стандартного макроса autoconf с именем _AC_INIT_DIRCHECK и определено в /usr/доля/autoconf/autoconf/general.m4:

AC_DEFUN([_AC_INIT_DIRCHECK],
[m4_divert_push([PARSE_ARGS])dnl

ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
  AC_MSG_ERROR([рабочий каталог не может быть определен])
тест "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
  AC_MSG_ERROR([pwd не сообщает имя рабочего каталога])

Вы можете найти более подробную информацию о причине ошибки в config.log файл. Кроме того, вы можете запустить тот же код в неинтерактивной оболочке POSIX следующим образом:

/бин/ш -с '
  ac_pwd=`pwd` && test -n "$ac_pwd" && 
  ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .`
'
эхо $?

или разбить на отдельные части, например

/bin/sh -c 'ac_pwd=`pwd` && test -n "$ac_pwd"'; эхо $?

Одна из возможных ошибок заключается в том, что в рабочем каталоге не установлен исполняемый бит:

$chmod-х.

$ /bin/sh -c '
  ac_pwd=`pwd` && test -n "$ac_pwd" &&
  ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .`
'
/bin/sh: 1: cd: не могу перейти в /home/steeldriver/src/unrealircd
Freak avatar
флаг in
при отладке я получаю следующий код ошибки: 255, есть идеи, что это значит? Также этот ответ был очень полезен при отладке моей среды.
флаг hr
@Freak, можешь разобрать и определить, какая команда возвращает код состояния 255? Бывший. `/bin/sh -c 'ac_pwd=$(pwd)'; echo $?` then `/bin/sh -c 'ac_pwd=$(pwd) && test -n "$ac_pwd"'; эхо $?` и т. д.
флаг hr
... и просто добавлю, я не думаю, что 255 является стандартным статусом выхода программы, я не могу догадаться, что может создавать это
Freak avatar
флаг in
Я только что смог отредактировать скрипт configure для unrealrcd и исправил свою проблему.

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

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.