6.24.1. Instalarea Ncurses
Nu instalați o bibliotecă statică care nu este gestionată de configure:
sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
Pregătiți Ncurses pentru compilare:
./configure --prefix=/usr \
--mandir=/usr/share/man \
--cu-partajat\
--fără-debug \
--fara-normal\
--enable-pc-files \
--enable-widec
./configure --prefix=/usr \
--mandir=/usr/share/man \
--cu-partajat\
--fără-debug \
--fara-normal\
--enable-pc-files \
--enable-widec
Semnificația noilor opțiuni de configurare:
--enable-widec
Această comutare provoacă biblioteci cu caractere largi (de exemplu, libncursesw.so.6.1) să fie construite în locul celor normale (de exemplu, libncurses.so.6.1). Aceste biblioteci cu caractere largi sunt utilizabile atât în localizările multiocteți, cât și în cele tradiționale de 8 biți, în timp ce bibliotecile normale funcționează corect numai în localitățile pe 8 biți. Bibliotecile cu caractere late și normale sunt compatibile cu sursa, dar nu sunt compatibile cu binar.
--enable-pc-files
Acest comutator generează și instalează fișiere .pc pentru pkg-config.
--fara-normal
Acest comutator dezactivează construirea și instalarea celor mai multe biblioteci statice.
Compilați pachetul:
face
face
Acest pachet are o suită de testare, dar poate fi rulat numai după ce pachetul a fost instalat. Testele rezidă în Test/
director. Vezi README fișier în acel director pentru mai multe detalii. Instalează pachetul:
make install
make install
Mutați bibliotecile partajate în / lib director, unde se așteaptă să locuiască:
mv -v /usr/lib/libncursesw.so.6* /lib
mv -v /usr/lib/libncursesw.so.6* /lib
Deoarece bibliotecile au fost mutate, o legătură simbolică indică un fișier inexistent. Recreează-l:
ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
>
>
Multe aplicații încă se așteaptă ca linkerul să poată găsi biblioteci Ncurses fără caractere late. Înșelați astfel de aplicații să se conecteze cu biblioteci cu caractere largi prin intermediul legăturilor simbolice și scripturilor de linker:
pentru lib în ncurses form panel rm -vf
echo "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc
făcut
meniul ; do
/usr/lib/lib${lib}.so
/usr/lib/lib${lib}.so
/usr/lib/pkgconfig/${lib}.pc
pentru lib în ncurses form panel rm -vf
echo "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc
făcut
În cele din urmă, asigurați-vă că aplicațiile vechi care caută -lblesteme la momentul construirii sunt încă construite:
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
Dacă doriți, instalați documentația 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
notițe
Instrucțiunile de mai sus nu creează biblioteci Ncurses fără caractere late, deoarece niciun pachet instalat prin compilare din surse nu s-ar conecta la ele în timpul execuției. Cu toate acestea, singurele aplicații cunoscute numai binare care se conectează cu bibliotecile Ncurses fără caractere late necesită versiunea 5. Dacă trebuie să aveți astfel de biblioteci din cauza unor aplicații numai binare sau pentru a fi compatibil cu LSB, construiți din nou pachetul cu următoarele comenzi:
notițe
Instrucțiunile de mai sus nu creează biblioteci Ncurses fără caractere late, deoarece niciun pachet instalat prin compilare din surse nu s-ar conecta la ele în timpul execuției. Cu toate acestea, singurele aplicații cunoscute numai binare care se conectează cu bibliotecile Ncurses fără caractere late necesită versiunea 5. Dacă trebuie să aveți astfel de biblioteci din cauza unor aplicații numai binare sau pentru a fi compatibil cu LSB, construiți din nou pachetul cu următoarele comenzi:
face necurat
./configure --prefix=/usr \
--cu-partajat\
--fara-normal\
--fără-debug \
--fără-cxx-legare \
--with-abi-version=5 face biblioteci surse
cp -av lib/lib*.so.5* /usr/lib
face necurat
./configure --prefix=/usr \
--cu-partajat\
--fara-normal\
--fără-debug \
--fără-cxx-legare \
--with-abi-version=5 face biblioteci surse
cp -av lib/lib*.so.5* /usr/lib