Theo quy ước, cấu hình
là tập lệnh shell POSIX được tạo từ cấu hình.ac
hoặc cấu hình.in
tệp mẫu của GNU autoconf
chương trình - tại thời điểm cài đặt hoặc trước khi phân phối bởi nhà bảo trì phần mềm.
Thông báo lỗi
cấu hình: lỗi: không thể xác định thư mục làm việc
đến từ một macro autoconf tiêu chuẩn có tên _AC_INIT_DIRCHECK
và được xác định trong /usr/share/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([không xác định được thư mục làm việc])
kiểm tra "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
AC_MSG_ERROR([pwd không báo tên thư mục làm việc])
Bạn có thể tìm thấy thông tin chi tiết hơn về nguyên nhân gây ra lỗi trong config.log
tập tin. Ngoài ra, bạn có thể chạy cùng một mã trong trình bao POSIX không tương tác như sau:
/bin/sh -c '
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .`
'
tiếng vang $?
hoặc chia nhỏ thành các phần riêng lẻ của nó như
/bin/sh -c 'ac_pwd=`pwd` && test -n "$ac_pwd"'; tiếng vang $?
Một khả năng xảy ra lỗi là thư mục làm việc không có bộ bit thực thi:
$ chmod -x .
$ /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: không thể cd vào /home/steeldriver/src/unrealircd