2015-09-24 24 views
6

tôi sử dụng các bước sau để cài đặt Autotool pacakges tôi:libtool vấn đề cài đặt với thực hiện cài đặt

./configure 
make 
make install prefix=/my/path 

Tuy nhiên tôi nhận được cảnh báo libtool sau "libtool: cảnh báo: nhớ để chạy 'libtool --finish/usr/local/lib 'và' libtool: cảnh báo: 'lib/my.la' chưa được cài đặt trong '/ usr/local/lib' "khi sử dụng autotool để cài đặt gói phần mềm của tôi. lệnh sau, sự cố biến mất:

./configure 
make prefix=/my/path 
make install prefix=/my/path 

Dường như phương pháp đầu tiên không thay thế chính xác prefix thành libtool. Làm thế nào tôi có thể tránh được vấn đề này?

Trả lời

8

Trong số các thông tin mà libtool hồ sơ lưu trữ về các thư viện mà chúng mô tả là vị trí cài đặt dự kiến. Thông tin đó được ghi lại khi thư viện được tạo. Sau đó, bạn có thể cài đặt đến một vị trí khác, nhưng libtool sẽ khiếu nại. Thông thường, cảnh báo của libtool vô hại.

Để tránh cảnh báo như vậy, bạn cần phải thông báo cho libtool cùng một vị trí cài đặt tại thời điểm xây dựng mà bạn thực hiện tại thời điểm cài đặt. Bạn trình bày một cách để làm điều đó trong câu hỏi, nhưng nếu bạn đang sử dụng một Autotools tiêu chuẩn xây dựng hệ thống sau đó nó là tốt hơn để xác định tiền tố cài đặt để configure:

./configure --prefix=/my/path 
make 
make install 

Ngoài ra, nếu bạn đang cài đặt vào một khu vực dàn dựng, chẳng hạn như để tạo RPM, sau đó sử dụng DESTDIR khi cài đặt. libtool sẽ vẫn cảnh báo, nhưng bạn sẽ tránh làm rối tung mọi thứ khác:

./configure 
make 
make install DESTDIR=/staging/area 
Các vấn đề liên quan