<Precedenti | Contenuti | Succ.>
6.24.1. Installazione di Ncurses
Non installare una libreria statica che non è gestita da configure:
sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
Prepara Ncurses per la compilazione:
./configure --prefix=/usr \
--mandir=/usr/share/man \
--con-condiviso \
--senza-debug \
--senza-normale \
--abilita-file-pc \
--enable-widec
./configure --prefix=/usr \
--mandir=/usr/share/man \
--con-condiviso \
--senza-debug \
--senza-normale \
--abilita-file-pc \
--enable-widec
Il significato delle nuove opzioni di configurazione:
--enable-widec
Questo interruttore provoca librerie di caratteri wide (ad es. libncursesw.so.6.1) da costruire al posto di quelle normali (es. libncurses.so.6.1). Queste librerie a caratteri estesi sono utilizzabili sia nelle versioni locali multibyte che in quelle tradizionali a 8 bit, mentre le librerie normali funzionano correttamente solo nelle versioni locali a 8 bit. Le librerie a caratteri estesi e normali sono compatibili con la sorgente, ma non con il binario.
--enable-pc-files
Questo switch genera e installa i file .pc per pkg-config.
--senza-normale
Questa opzione disabilita la creazione e l'installazione della maggior parte delle librerie statiche.
Compila il pacchetto:
make
make
Questo pacchetto ha una suite di test, ma può essere eseguito solo dopo che il pacchetto è stato installato. I test risiedono nel test/
directory. Vedi il README file in quella directory per ulteriori dettagli. Installa il pacchetto:
make install
make install
Sposta le librerie condivise in / lib directory, dove dovrebbero risiedere:
mv -v /usr/lib/libncursesw.so.6* /lib
mv -v /usr/lib/libncursesw.so.6* /lib
Poiché le librerie sono state spostate, un collegamento simbolico punta a un file inesistente. Ricrealo:
ln -sfv ../../lib/$(link di lettura /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
ln -sfv ../../lib/$(link di lettura /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
>
>
Molte applicazioni si aspettano ancora che il linker sia in grado di trovare librerie Ncurses a caratteri non wide. Ingannare tali applicazioni nel collegamento con librerie a caratteri larghi tramite collegamenti simbolici e script di collegamento:
per lib nel pannello dei moduli ncurses rm -vf
echo "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc
fatto
menù ; fare
/usr/lib/lib${lib}.so
/usr/lib/lib${lib}.so
/usr/lib/pkgconfig/${lib}.pc
per lib nel pannello dei moduli ncurses rm -vf
echo "INPUT(-l${lib}w)" ln -sfv ${lib}w.pc
fatto
Infine, assicurati che le vecchie applicazioni che cercano - maledizioni in fase di compilazione sono ancora costruibili:
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
Se lo desideri, installa la documentazione di 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
Note:
Le istruzioni di cui sopra non creano librerie Ncurses a caratteri non larghi poiché nessun pacchetto installato compilando da sorgenti si collegherebbe ad esse in fase di esecuzione. Tuttavia, le uniche applicazioni note solo binarie che si collegano a librerie Ncurses non a caratteri larghi richiedono la versione 5. Se è necessario disporre di tali librerie a causa di alcune applicazioni solo binarie o per essere conformi a LSB, creare nuovamente il pacchetto con il seguente comandi:
Note:
Le istruzioni di cui sopra non creano librerie Ncurses a caratteri non larghi poiché nessun pacchetto installato compilando da sorgenti si collegherebbe ad esse in fase di esecuzione. Tuttavia, le uniche applicazioni note solo binarie che si collegano a librerie Ncurses non a caratteri larghi richiedono la versione 5. Se è necessario disporre di tali librerie a causa di alcune applicazioni solo binarie o per essere conformi a LSB, creare nuovamente il pacchetto con il seguente comandi:
fare distclean
./configure --prefix=/usr \
--con-condiviso \
--senza-normale \
--senza-debug \
--senza-associazione-cxx \
--with-abi-version=5 crea le librerie dei sorgenti
cp -av lib/lib*.so.5* /usr/lib
fare distclean
./configure --prefix=/usr \
--con-condiviso \
--senza-normale \
--senza-debug \
--senza-associazione-cxx \
--with-abi-version=5 crea le librerie dei sorgenti
cp -av lib/lib*.so.5* /usr/lib