<Trước | Nội dung | Tiếp theo>
6.24.1. Cài đặt Ncurses
Không cài đặt thư viện tĩnh không được xử lý bằng cấu hình:
sed -i '/ LIBTOOL_INSTALL / d' c ++ / Makefile.in
sed -i '/ LIBTOOL_INSTALL / d' c ++ / Makefile.in
Chuẩn bị Ncurses để biên dịch:
./configure --prefix = / usr \
--mandir = / usr / share / man \
--with-share \
--không-gỡ lỗi \
--không-bình thường \
--enable-pc-files \
--enable-widec
./configure --prefix = / usr \
--mandir = / usr / share / man \
--with-share \
--không-gỡ lỗi \
--không-bình thường \
--enable-pc-files \
--enable-widec
Ý nghĩa của các tùy chọn cấu hình mới:
--enable-widec
Việc chuyển đổi này gây ra các thư viện ký tự rộng (ví dụ: libncursesw.so.6.1) được xây dựng thay vì những cái bình thường (ví dụ: libncurses.so.6.1). Các thư viện ký tự rộng này có thể sử dụng được ở cả ngôn ngữ đa byte và địa phương 8 bit truyền thống, trong khi các thư viện bình thường chỉ hoạt động bình thường ở địa phương 8 bit. Các thư viện ký tự rộng và thư viện bình thường tương thích với nguồn, nhưng không tương thích với hệ nhị phân.
--enable-pc-file
Công tắc này tạo và cài đặt các tệp .pc cho pkg-config.
- không bình thường
Công tắc này vô hiệu hóa việc xây dựng và cài đặt hầu hết các thư viện tĩnh.
Biên dịch gói:
làm cho
làm cho
Gói này có một bộ thử nghiệm, nhưng nó chỉ có thể chạy sau khi gói đã được cài đặt. Các bài kiểm tra nằm trong kiểm tra/
danh mục. Xem README tập tin trong thư mục đó để biết thêm chi tiết. Cài đặt gói:
thực hiện cài đặt
thực hiện cài đặt
Di chuyển các thư viện được chia sẻ vào / lib thư mục, nơi họ dự kiến sẽ cư trú:
mv -v /usr/lib/libncursesw.so.6* / lib
mv -v /usr/lib/libncursesw.so.6* / lib
Bởi vì các thư viện đã được di chuyển, một liên kết biểu tượng trỏ đến một tệp không tồn tại. Tạo lại nó:
ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
>
>
Nhiều ứng dụng vẫn mong đợi trình liên kết có thể tìm thấy các thư viện Ncurses không có ký tự rộng. Lừa các ứng dụng như vậy liên kết với các thư viện ký tự rộng bằng các liên kết tượng trưng và tập lệnh trình liên kết:
cho lib trong bảng điều khiển biểu mẫu ncurses rm -vf
echo "INPUT (-l $ {lib} w)" ln -sfv $ {lib} w.pc
thực hiện
thực đơn ; làm
/usr/lib/lib${lib}.so
/usr/lib/lib${lib}.so
/usr/lib/pkgconfig/${lib}.pc
cho lib trong bảng điều khiển biểu mẫu ncurses rm -vf
echo "INPUT (-l $ {lib} w)" ln -sfv $ {lib} w.pc
thực hiện
Cuối cùng, hãy đảm bảo rằng các ứng dụng cũ đang tìm kiếm - lời nguyền tại thời điểm xây dựng vẫn có thể xây dựng:
rm -vf /usr/lib/libcursesw.so echo "INPUT (-lncursesw)"> /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so
rm -vf /usr/lib/libcursesw.so echo "INPUT (-lncursesw)"> /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so
Nếu muốn, hãy cài đặt tài liệu Ncurses:
mkdir -v
/usr/share/doc/ncurses-6.1
mkdir -v
cp -v -R doc / * /usr/share/doc/ncurses-6.1
cp -v -R doc / * /usr/share/doc/ncurses-6.1
Lưu ý
Các hướng dẫn ở trên không tạo các thư viện Ncurses không có ký tự rộng vì không có gói nào được cài đặt bằng cách biên dịch từ các nguồn sẽ liên kết với chúng trong thời gian chạy. Tuy nhiên, các ứng dụng chỉ nhị phân duy nhất được biết đến liên kết với các thư viện Ncurses không có ký tự rộng yêu cầu phiên bản 5. Nếu bạn phải có các thư viện như vậy vì một số ứng dụng chỉ nhị phân hoặc để tuân thủ LSB, hãy xây dựng lại gói với phần sau lệnh:
Lưu ý
Các hướng dẫn ở trên không tạo các thư viện Ncurses không có ký tự rộng vì không có gói nào được cài đặt bằng cách biên dịch từ các nguồn sẽ liên kết với chúng trong thời gian chạy. Tuy nhiên, các ứng dụng chỉ nhị phân duy nhất được biết đến liên kết với các thư viện Ncurses không có ký tự rộng yêu cầu phiên bản 5. Nếu bạn phải có các thư viện như vậy vì một số ứng dụng chỉ nhị phân hoặc để tuân thủ LSB, hãy xây dựng lại gói với phần sau lệnh:
làm sạch
./configure --prefix = / usr \
--with-share \
--không-bình thường \
--không-gỡ lỗi \
--không có-cxx-ràng buộc \
--with-abi-version = 5 tạo nguồn libs
cp -av lib / lib * .so.5 * / usr / lib
làm sạch
./configure --prefix = / usr \
--with-share \
--không-bình thường \
--không-gỡ lỗi \
--không có-cxx-ràng buộc \
--with-abi-version = 5 tạo nguồn libs
cp -av lib / lib * .so.5 * / usr / lib
<Trước | Nội dung | Tiếp theo>