Lx4U-book/docs/build-system/ncurses.md

124 lines
3.8 KiB
Markdown
Raw Normal View History

{{ include('../packages/ncurses/README.md') }}
2021-05-14 17:04:46 +08:00
## Настройка
```bash
{{ include('../packages/ncurses/configure') }}
```
2021-06-10 21:28:16 +08:00
### Значения параметров
2021-05-14 17:04:46 +08:00
2021-07-20 15:37:42 +08:00
`--without-normal` - отключает установку большинства статических библиотек.
2021-05-14 17:04:46 +08:00
2021-07-20 15:37:42 +08:00
`--enable-pc-files` - включает установку файлов для `pkg-config`.
2021-05-14 17:04:46 +08:00
2021-07-20 15:37:42 +08:00
`--enable-widec` - включает сборку библиотек с широкими (многобайтовыми) символами. Они совместимы с обычными библиотеками `ncurses` при сборке из исходного кода, но не совместимы бинарно.
2021-05-14 17:04:46 +08:00
## Сборка
```bash
{{ include('../packages/ncurses/build') }}
```
2021-05-14 17:04:46 +08:00
## Установка
```bash
{{ include('../packages/ncurses/install') }}
```
2021-05-14 17:04:46 +08:00
Многие пакеты при компоновке ищут библиотеки без широких символов. Для компоновки с библиотеками содержащими широкие символы выполните:
```bash
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}w.pc /usr/lib/pkgconfig/${lib}.pc
done
```
Для сборки старых программ использующих `-lcurses` выполните:
```bash
rm -vf /usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
ln -sfv libncurses.so /usr/lib/libcurses.so
```
2021-05-14 22:27:24 +08:00
Удалите ненужную статическую библиотеку:
2021-05-14 17:04:46 +08:00
```bash
rm -fv /usr/lib/libncurses++w.a
```
2021-05-14 22:27:24 +08:00
???+ note "Дополнительно"
2021-05-18 01:16:58 +08:00
Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
```bash
make distclean
./configure --prefix=/usr \
--with-shared \
--without-normal \
--without-debug \
--without-cxx-binding \
--with-abi-version=5
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
## При раздельной структуре каталогов
```bash
{{ include('../packages/ncurses/cldirs') }}
```
2021-05-14 17:04:46 +08:00
## Для multilib
2021-05-14 17:04:46 +08:00
### Очистка
```bash
make distclean
```
### Настройка
```bash
{{ include('../packages/ncurses/multi_configure') }}
```
2021-05-14 17:04:46 +08:00
### Сборка
```bash
{{ include('../packages/ncurses/multi_build') }}
```
2021-05-14 17:04:46 +08:00
### Установка
```bash
{{ include('../packages/ncurses/multi_install') }}
```
2021-05-14 17:04:46 +08:00
???+ note "Дополнительно"
2021-05-18 01:16:58 +08:00
Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
```bash
make distclean
CC="gcc -m32" CXX="g++ -m32" ./configure --prefix=/usr \
--with-shared \
--without-normal \
--without-debug \
--without-cxx-binding \
--with-abi-version=5 --host=i686-pc-linux-gnu
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
2021-05-18 01:16:58 +08:00
2021-05-14 17:04:46 +08:00
## Установленные файлы
Программы: `captoinfo` (ссылка на `tic`), `clear`, `infocmp`, `infotocap` (ссылка на `tic`), `ncursesw6-config`, `reset` (ссылка на `tset`), `tabs`, `tic`, `toe`, `tput` и `tset`
2021-05-14 22:27:24 +08:00
Библиотеки: `libcursesw.so` (ссылка на `libncursesw.so`), `libformw.so`, `libmenuw.so`, `libncursesw.so`, `libpanelw.so` и их версии без широких символов
2021-05-14 17:04:46 +08:00
2021-05-14 22:27:24 +08:00
Директории: /usr/share/tabset /usr/share/terminfo