Этот переключатель указывает, что при сборке пакета вместо обычных библиотек (например, libncurses.so.5.7) будут использоваться библиотеки с расширенным набором символов (например,libncursesw.so.5.7). Эти библиотеки с расширенным набором символов могут использоваться как с многобайтовыми локалями, так и с традиционными 8-битовыми локалями, тогда как обычные библиотеки работают только с 8-битовыми локалями. Библиотеки с расширенным набором символов и обычные библиотеки совместимы по исходному коду, но не совместимыми на уровне двоичного кода.
Откомпилируйте пакет:
make
В этом пакете есть набор тестов, но его можно будет запустить только после установки. Тесты находятся в директории test/. Дальнейшие подробности смотрите в этом директории в файле README.
Установите пакет:
make install
Переместите совместно используемые библиотеки в директорий /lib, где они должны находиться:
mv -v /usr/lib/libncursesw.so.5* /lib
Поскольку библиотеки перемещены, одна из символических указывает на несуществующий файл. Пересоздайте ссылку:
Во многих приложениях все еще предполагается, что компоновщик будет искать библиотеки Ncurses без расширенного набора символов. Трюк для таких приложений состоит в их компоновке с библиотеками с расширенным набором символов с использованием символических ссылок и скриптов компоновщика:
for lib in ncurses form panel menu ; do \ rm -vf /usr/lib/lib${lib}.so ; \ echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \ ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \doneln -sfv libncurses++w.a /usr/lib/libncurses++.a
Наконец, убедитесь, что для старых приложений, для которых во время сборки используется -lcurses, при их сборке проблем не возникает:
Замечание
С помощью приведенных выше инструкций не создаются библиотеки Ncurses, не использующие расширенны набор символов, поскольку при компиляции исходных кодов не устанавливается пакет, который должен к ним обращаться. Если вам потребуются эти библиотеки из-за того, что есть некоторое приложение, имеющееся только в двоичном коде и оно должно быть совместимо с системой LSB, соберите пакет снова с помощью следующих команд:
make distclean./configure --prefix=/usr --with-shared --without-normal \ --without-debug --without-cxx-bindingmake sources libscp -av lib/lib*.so.5* /usr/lib