Tôi đang cố gắng xây dựng thư viện trên máy chủ CI từ xa, nhưng tôi không có quyền root. Thư viện yêu cầu các gói autoconf, automake và libtool được cài đặt. Tôi không thể làm điều đó với cài đặt apt-get, vì vậy tôi đã cố gắng thực hiện một cách giải quyết: tải xuống các gói .deb và xuất PATH để có thể tìm thấy autoconf, libtoolize, v.v.
Vấn đề là các nhị phân trong các gói này có một số đường dẫn đến các tập lệnh bổ sung (được cài đặt như một phần của các gói) được mã hóa cứng. Bây giờ tôi nhận được lỗi này:
libtoolize: $pkgltdldir is not a directory: `/usr/share/libtool'
Có cách nào để thay đổi đường dẫn mặc định này bằng biến môi trường không (giống như ở đây https://superuser.com/a/1144948/62460 )?
Tôi đã thử xuất $pkgltdldir
nhưng điều đó đã không làm việc.
Tôi đã sử dụng sed để thay thế tất cả các lần xuất hiện của "/ usr / share" bằng đường dẫn của tôi trong tập lệnh Perl libtoolize . Nó không phải là một giải pháp sạch nhưng nó hoạt động.
—
Machta
pkgltdldir
trong các tập lệnh, hãy xem cách biến này được đặt, xem nó không phụ thuộc vào một loại biến tiền tố nào đó, rồi đặt biến tiền tố trước.