Tôi có một biến khai báo trong configure.ac:Automake: biến không mở rộng trên Solaris
MY_VERSION="0:0:0"
AC_SUBST(MY_VERSION)
AC_MSG_NOTICE([$MY_VERSION])
Giá trị của biến được in ra một cách chính xác trong giai đoạn ./configure.
Trong Makefile.am có sau dòng:
libmylib_la_LDFLAGS = -version-info @[email protected]
Trong dòng lệnh mối liên kết nó mở rộng một cách chính xác để "-version-info 0: 0: 0" trên tất cả các hệ thống ngoại trừ Solaris. Trên solaris (SunOS 5.10 Generic_141414-10 sun4u sparc SUNW, Sun-Blade-100) Tôi nhận được "-version-info" không có số phiên bản.
Bất kỳ ý tưởng nào có thể đã xảy ra sai?
phiên bản Autoconf là trong hệ thống Solaris của bạn? – Maquefel
Phiên bản Solaris đang được xây dựng như thế nào? Bạn đang xây dựng tarball cho Solaris trên một máy chủ khác, liệu nó có đang được xây dựng trên Solaris không? – ldav1s
Trước tiên, tôi đảm bảo rằng tập lệnh cấu hình của bạn thực sự thiết lập biến này đúng cách. Một cách dễ dàng để làm điều này là hack trong "set + x" và "set -x" xung quanh mã trong "cấu hình". Sau đó, tôi sẽ kiểm tra config.status được tạo ra để xem cài đặt có chính xác không. Đôi khi autoconf chuyến đi qua một lỗi nhà cung cấp trong sed hoặc awk hoặc một cái gì đó ... –