Тестирование программ ncurses завершается с ошибкой «Ошибка открытия терминала: xterm» - PullRequest
0 голосов
/ 23 мая 2018

(Примечание: это похоже на этот вопрос , но ответ там не применим.)

Работая под FreeBSD, у меня установлены ncurses через обычный метод pkg для FreeBSD,но поскольку я видел странное поведение с ранее работавшей программой curses, я решил скачать архив с исходными кодами ncurses с официального сайта и скомпилировать его в моем домашнем каталоге.

Компиляция прошла нормально, но я пыталсязапустить любую из включенных тестовых программ в следующих случаях:

 Error opening terminal: xterm.

В документации сказано:

ПРИМЕЧАНИЕ. Вы должны установить базу данных terminfo или установить переменную среды $ TERMINFOуказать на SVr4-совместимую базу данных terminfo перед запуском тестовых программ.Не все базы данных terminfo вендоров совместимы с SVr4, но, похоже, большинство из них.

Таким образом, похоже, что ответом является установка TERMINFO, но на что?Я не вижу никакой базы данных terminfo внутри самого каталога сборки, но у меня есть файл /usr/local/share/misc/terminfo.db, установленный в результате обычной установки FreeBSD.

Тем не менее, настройка (синтаксис csh) setenv TERMINFO /usr/local/share/misc/terminfo.db (или то же самое, опуская расширение .db) не имеет никакого значения.

(Примечание: это не должно иметь значения, потому что я до сих пор не пытался установить локальную сборку, но когда я запускал "configure ", я использовал: ./configure --prefix=$HOME, чтобы он устанавливался в моем домашнем каталоге.

1 Ответ

0 голосов
/ 23 мая 2018

По умолчанию ncurses использует (читает / записывает) дерево каталогов описаний терминалов.При желании (и это можно увидеть в make-файле для порта ncurses ), он читает / записывает файл хэшированной базы данных, а также читает дерево каталогов.

INSTALL * 1006Файл * в источниках ncurses содержит некоторые подробности о параметре конфигурации --with-hashed-db, который вы, очевидно, пропустили.Страница справочника term (5) дает лучший обзор.

...