vim-X11-* (все версии кроме gtk+, тестировалось на Master 2.2) падают по SIGSEGV при запуске на удалённом терминале если не установлен пакет XFree86-locales. gtk+ версия выдаёт warning и успешно запускается. По всей видимости, удалённый терминал это есдинственный вариант, когда пакет XFree86-locales не установлен (присутствуют только XFree86-libs и XFree86-utils), при наличии XFree86-servers он вытягивается по зависимостям.
Исправлена ли ошибка ? или мне стоит поставить зависимость у libs на locales ?
Я пока не могу найти площадку чтобы это проверить. Есть стойкое подозрение, что падает не сам vim, а кто-то из X'овых библиотек. В любом случае зависимость лишней не будет.
Буду разбираться с этим позже...
Зависимость будет лишней, если локали реально не нужны никаким библиотекам. В любом случае - надо знать точно ;-)
Воспроизводится на Master 2.4beta2. Тестовый полигон есть, разбираюсь...
athena и neXtaw версии падают внутри lib{neXtaw,Xaw}. Это точно проблема не VIm. static void SetTextWidthAndHeight(lw) { ... XFontSet fset = lw->label.fontset; XFontSetExtents *ext = XExtentsOfFontSet(fset); lw->label.label_height = ext->max_ink_extent.height; ... lw->label.fontset - NULL (из-за отсутствия локали), XExtentsOfFontSet(NULL) пытается что-то возвращать (в моём случае это было 0x28). Выпадаем на ext->... Я также склоняюсь к мысли, что это не проблема Xaw/neXtaw, а дело в самой libXt (XFree86-libs)...
Не знаю точно чья именно проблема, но виноват XFree86-libs. Если локалей нет, не использутся fontset'ы и аттрибут fontSet у всех виджетов выставляется в NULL. Если у виджета аттрибут international установлен в True, подразумевается что использутся fontSet. Далее на этот fontSet (NULL!) вызывается функция XExtentsOfFontSet (libX11), которая выглядит следующим образом: XFontSetExtents * XExtentsOfFontSet(font_set) XFontSet font_set; { return &font_set->core.font_set_extents; } т.е. возвращается (font_set + некое_смещение) без проверки валидности аргумента. Таким образом будут падать все Xaw/neXtaw приложения (в библиотеке) а также xfontsel (в своей реализации виджета ULabel). Самы простой вариант всё исправить - прописать зависимость -locales от -libs или внести -locales в состав -libs (с соответствующим Obsoletes).
reassign to xorg
это первое что я исправил