Lx4U-book/docs/build-system/bash.md
2021-05-20 13:36:09 +03:00

2.1 KiB

Подготовка

Для многоядерных процессоров внесите исправление, которое устраняет проблему "состояния гонки" при использовании нескольких ядер.

sed -i  '/^bashline.o:.*shmbchar.h/a bashline.o: ${DEFDIR}/builtext.h' Makefile.in

Настройка

./configure --prefix=/usr                    \
            --docdir=/usr/share/doc/bash     \
            --without-bash-malloc            \
            --with-installed-readline

Значения параметров configure

--without-bash-malloc - Этот параметр отключает использование функции выделения памяти (malloc) Bash, которая вызывает ошибки сегментации. Отключив эту опцию, Bash будет использовать функции malloc из libc, которые более стабильны.

--with-installed-readline - Указывает на то, что следует задействовать ранее установленную библиотеку readline, вместо использования внутренней.

Сборка

make

Тестирование

Для корректного выполнения тестов, сделайте пользователя tester владельцем каталога

chown -Rv tester .

И запустите тесты от пользователя tester

su tester << EOF
PATH=$PATH make tests < $(tty)
EOF

Установка

make install

Запустите bash (заменив который в настоящее время выполняется):

exec /bin/bash --login +h