Một số macro M4 dường như không được xác định


56

Tôi đang thử cài đặt lại pacman trên bản phân phối Arch Linux của mình. Khi tôi chạy tập lệnh configure "configure.ac", tôi nhận được một loạt các macro không xác định:

error: possibly undefined macro: AM_INIT_AUTOMAKE.
If this token and others are legitimate, please use m4_pattern_allow.
See the autoconf documentation.
error: possibly undefined macro: AC_PROG_LIBTOOL
error: possibly undefined macro: AM_GNU_GETTEXT 
error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
error: possibly undefined macro: AM_CONDITIONAL

Có ai biết điều gì sẽ khiến các macro này không được xác định? Đến từ Ubuntu (nơi mọi thứ chỉ hoạt động và do đó nhàm chán), tôi thực sự không biết về tự động hóa.


Tại sao bạn xây dựng từ nguồn? Tại sao bạn không tải xuống các gói trên máy khác, sao chép chúng qua và trích xuất chúng để root theo wiki.archlinux.org/index.php/ợi
jasonwryan

Nó xuất hiện những gì? Có phải đó là toàn bộ chuỗi lỗi? Làm thế nào bạn lấy lại nguồn?
Gilles 'SO- ngừng trở nên xấu xa'

2
Jason, tôi không có pacman trên máy khác của tôi và tôi không muốn tải xuống trình quản lý gói khác. Ngoài ra, nếu tôi không xây dựng từ nguồn, tôi sẽ không có cơ hội tuyệt vời này để tìm hiểu về M4 và tự động hóa. Xin lỗi về chỉnh sửa xấu, tôi đã gỡ bỏ nó. Vâng, đó là toàn bộ chuỗi lỗi. Tôi đã lấy nguồn từ trang web ArchLinux tại dự án.archlinux.org / pacman.git với wget.
SirTasty

configure.ac không phải là script script và không thể chạy được.
qdii

3
"Tại sao bạn xây dựng từ nguồn?" Không phải việc kinh doanh gd của bạn :)
Greg Schmit

Câu trả lời:


65

Hãy thử điều này, có thể nó có thể giúp:

autoreconf --install

(Xem trang hướng dẫn, cũng có một --forcetùy chọn)


chương trình cvs không tìm thấy; autopoint không thành công với trạng thái thoát 1. Tôi đang cài đặt cvs từ các nguồn, sẽ cho bạn biết nó hoạt động như thế nào.
SirTasty

1
@SirTasty: cvs ?? hmm, có thể thử sử dụng autoconfautomaketrực tiếp?
Stéphane Gimenez

Autoconf cung cấp cho tôi các cảnh báo macro không xác định. automake cho tôi (dấu chấm phẩy các dòng riêng biệt) : Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL; Makefile.am: required file ./ChangeLog not found ; configure.ac:57: tập tin yêu cầu config.h.in không tìm thấy`
SirTasty

Tôi không phải là chuyên gia về autotools (hoặc người hâm mộ). Có lẽ đợi một người xuất hiện trong trò chơi tình cờ, còn aclocaltrước tiên thì sao?
Stéphane Gimenez

Tôi đã có một lỗi autoconf tương tự (trên redhat fc19) và autoreconf --install đã giải quyết nó.
gaoithe

24

Các macro trong thông báo lỗi bạn đã đăng được xác định bởi automakelibtool ; Có vẻ như bạn cần phải cài đặt các gói đó.

Vậy hãy thử đi autoreconf --install


Cả hai gói đó đều được cài đặt, hoặc ít nhất là "tự động hóa" và "libtool" nào trả về kết quả hợp lý.
SirTasty

2
@SirTasty Sau đó, có lẽ bạn cần chạy "autoreconf" như Stéphane gợi ý.
Riccardo Murri

6
Trên hệ thống CentOS6.7 của tôi, tôi đã phải làm điều này:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
Mark Hudson

1
Đối với tôi, với lỗi configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORtrên Manjaro Linux, việc cài đặt autoconf-archiveđã tạo ra mánh khóe, mặc dù một lỗi khác dẫn đến hiện tại cũng đã tránh được. Các gói khác đã được cài đặt. Chỉ để biết thông tin, chi tiết thêm về điều đó bắt đầu từ github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
James Ray

4

Đối với bất kỳ ai khác đang tìm kiếm: Mặc dù automake và libtool rất có thể là ứng cử viên, một số hệ thống sẽ không tự động cài đặt gettext. Điều này cũng được yêu cầu.


1

Tôi đã khá bối rối khi gặp phải những lỗi này, vì tôi đã cài đặt mọi thứ và autoreconf - install không giúp được gì. Vấn đề chỉ là lỗi aclocal.m4 và xóa nó trước khi autoreconf giải quyết vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.