mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-25 07:42:19 +08:00
138 lines
4.1 KiB
Markdown
138 lines
4.1 KiB
Markdown
<package-info :package="package" showsbu2></package-info>
|
||
|
||
<script>
|
||
new Vue({
|
||
el: '#main',
|
||
data: { package: {} },
|
||
mounted: function () {
|
||
this.getPackage('ncurses');
|
||
},
|
||
methods: {
|
||
getPackage: function(name) {
|
||
getPackage(name)
|
||
.then(response => this.package = response);
|
||
},
|
||
}
|
||
})
|
||
</script>
|
||
|
||
## Настройка
|
||
|
||
|
||
```bash
|
||
./configure --prefix=/usr \
|
||
--mandir=/usr/share/man \
|
||
--with-shared \
|
||
--without-debug \
|
||
--without-normal \
|
||
--enable-pc-files \
|
||
--enable-widec \
|
||
--with-pkg-config-libdir=/usr/lib/pkgconfig
|
||
```
|
||
|
||
### Объяснение параметров configure
|
||
|
||
`--without-normal` - Отключает установку большинства статических библиотек.
|
||
|
||
`--enable-pc-files` - Включает установку файлов для `pkg-config`.
|
||
|
||
`--enable-widec` - Включает сборку библиотек с широкими (многобайтовыми) символами. Они совместимы с обычными библиотеками `ncurses` при сборке из исходного кода, но не совместимы бинарно.
|
||
|
||
## Сборка
|
||
|
||
|
||
```bash
|
||
make
|
||
```
|
||
|
||
## Установка
|
||
|
||
```bash
|
||
make install
|
||
```
|
||
|
||
Многие пакеты при компоновке ищут библиотеки без широких символов. Для компоновки с библиотеками содержащими широкие символы выполните:
|
||
|
||
```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
|
||
```
|
||
|
||
Удалите ненужную статическую библиотеку:
|
||
|
||
```bash
|
||
rm -fv /usr/lib/libncurses++w.a
|
||
```
|
||
|
||
<!-- TODO добавить инфу о сборке libncurses.so.5, но нужен многострочный хелпер -->
|
||
|
||
## Для multilib
|
||
|
||
### Очистка
|
||
|
||
```bash
|
||
make distclean
|
||
```
|
||
|
||
### Настройка
|
||
|
||
```bash
|
||
CC="gcc -m32" CXX="g++ -m32" \
|
||
./configure --prefix=/usr \
|
||
--host=i686-pc-linux-gnu \
|
||
--libdir=/usr/lib32 \
|
||
--mandir=/usr/share/man \
|
||
--with-shared \
|
||
--without-debug \
|
||
--without-normal \
|
||
--enable-pc-files \
|
||
--enable-widec \
|
||
--with-pkg-config-libdir=/usr/lib32/pkgconfig
|
||
```
|
||
|
||
### Сборка
|
||
|
||
```bash
|
||
make
|
||
```
|
||
|
||
### Установка
|
||
|
||
```bash
|
||
make DESTDIR=$PWD/DESTDIR install
|
||
mkdir -p DESTDIR/usr/lib32/pkgconfig
|
||
for lib in ncurses form panel menu ; do
|
||
rm -vf DESTDIR/usr/lib32/lib${lib}.so
|
||
echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
|
||
ln -svf ${lib}w.pc DESTDIR/usr/lib32/pkgconfig/$lib.pc
|
||
done
|
||
rm -vf DESTDIR/usr/lib32/libcursesw.so
|
||
echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
|
||
ln -sfv libncurses.so DESTDIR/usr/lib32/libcurses.so
|
||
rm -fv DESTDIR/usr/lib32/libncurses++w.a
|
||
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
|
||
rm -rf DESTDIR
|
||
```
|
||
|
||
<!-- TODO добавить инфу о сборке 32-bit libncurses.so.5, но нужен многострочный хелпер -->
|
||
|
||
## Установленные файлы
|
||
|
||
Программы: captoinfo (ссылка на tic), clear, infocmp, infotocap (ссылка на tic), ncursesw6-config, reset (ссылка на tset), tabs, tic, toe, tput и tset
|
||
|
||
Библиотеки: libcursesw.so (ссылка на libncursesw.so), libformw.so, libmenuw.so, libncursesw.so, libpanelw.so и их версии без широких символов
|
||
|
||
Директории: /usr/share/tabset /usr/share/terminfo
|
||
|