Tôi đang xây dựng Android cho NXP I.MX6 trên Fedora 26, sau khi ăn trưa (nhiều lần, mỗi lần), tôi gặp lỗi sau:
prebuilts/clang/host/linux-x86/clang-2690385/bin/clang++: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Tôi đã cài đặt ncurses-devel và ncurses-compat-libs như được đề xuất trong liên kết này , nhưng nó vẫn ném lỗi ở trên.
Khi điều tra, tôi hiểu rằng ncurses-devel cài đặt phiên bản 6 theo mặc định và tôi nghi ngờ ncurses-compat-libs chỉ cài đặt các thư viện 32 bit cho phiên bản 5 & 6.
Đường dẫn thư viện 32 bit :
$ ls /usr/lib/libncurses*
libncurses.so libncurses.so.5.9 libncurses.so.6.0 libncurses++w.so.5 libncurses++w.so.6
libncurses++.so libncurses++.so.5.9 libncurses++.so.6.0 libncursesw.so.5 libncursesw.so.6
libncurses.so.5 libncurses.so.6 libncurses++w.so libncurses++w.so.5.9 libncurses++w.so.6.0
libncurses++.so.5 libncurses++.so.6 libncursesw.so libncursesw.so.5.9 libncursesw.so.6.0
Đường dẫn thư viện 64 bit :
$ ls /usr/lib64/libncurses*
/usr/lib64/libncurses.so /usr/lib64/libncurses++.so.6 /usr/lib64 /libncurses++w.so /usr/lib64/libncursesw.so.6
/usr/lib64/libncurses++.so /usr/lib64/libncurses.so.6.0 /usr/lib64/libncursesw.so /usr/lib64/libncurses++w.so.6.0
/usr/lib64/libncurses.so.6 /usr/lib64/libncurses++.so.6.0 /usr/lib64/libncurses++w.so.6 /usr/lib64/libncursesw.so.6.0
Vì vậy, câu hỏi là làm thế nào để tôi cài đặt phiên bản 5 ncursed-devel trên Fedora 26?
Có một lý do tại sao nó không thể sử dụng tiếng kêu hệ thống?
—
Ignacio Vazquez-Abrams
Có các phiên bản 32 bit và 64 bit của ncurses-compat-libs, nhưng không có tiêu đề phát triển vì (được đề cập trong báo cáo lỗi ...) rằng không có lý do gì để hỗ trợ phát triển bằng ABI 5.
—
Thomas Dickey
@ IgnacioVazquez-Abrams: Tôi đoán đó là do Android sử dụng các bộ công cụ dựng sẵn nhưng mong muốn các thư viện tương thích có sẵn trên máy chủ.
—
Aananth CN