nixp.ru v3.0

28 мая 2017,
воскресенье,
19:43:22 MSK

DevOps с компанией «Флант»
anonymous написал 1 марта 2006 года в 09:46 (415 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Доброго времени суток!

У меня Debian Sarge 3.1r0a

Просидел всю ночь в попытках заставить mutt читать русские сообщения.

Вот что я предпринимал:

1) Сначала проверил, все ли впорядке с моим mailbox-ом (на предмет вшивости getmail и procmail). Отправил почту на ноут со Слакварью, открыл там mutt — все читается по-русски без проблем. То есть mailbox в порядке.

2) Попробовал читать почту через GNU mail. Читается без проблем. То есть дело не в настройках консоли.

3) Выставил все окружение (LANG, LANGUAGE, LC_COLLATE и проч.) на русский язык. Не помогло. То есть дело не в окружении

4) Стал ковырять .muttrc. Выставил следующее:

set allow_8bit=yes

set charset=koi8-r

Не помогло. Знаки вопроса сменились бэкслэш-последовательностями.

5) Удалил прекомпилированный mutt и поставил его из исходников со всеми интернациональными параметрами --enable-locales-fix, --with-included-gettext и проч. Не помогло.

6) Вместо текущей версии 1.5.9i скачал и поставил из исходников версию 1.4.2.1i. Не помогло. Вернулся к версии 1.5.9.

Если кто-нибудь знает, в чем дело, помогите! Устал уже! Может быть нужна русифицированная версия, как на Slackware/MOPS. Только если так, то где взять ее исходники?

Заранее благодарен!

Steck

как вариант можно забиндить какую нить кнопку в mutt

на предмет iconv …

но это уже чере Ж получиться)

anonymous

Я тоже думал об этом, но дело в том, что iconv перекодируют сообщение, а дело вовсе не в кодировке, дело в том, что моя версия mutt (скорее всего без нужного мне хака) не может воспроизводить русский текст, кроме как вопросиками. Пришел к такому выводу, когда попробовал зайти с ноутбука (где все хорошо) на домашний через ssh и попробовал запустить mutt удаленно — те же самые вопросики. То бишь дело в самом mutt (чистая версия), а не в кодировках и не в шрифтах.

Что ж. Спасибо за поддержку. Буду искать заплаты.

anonymous

Ура, ура!

Советую поместить мой случай в FAQ.

Значит проблема была в неправильной сборке mutt в Debian. Итак, если хотите без проблем использовать mutt в этом дистрибутиве, сносите штатную версию и делайте так:

1) Скачиваем пропатченные исходники исходники mutt отсюда (а не из официального источника!):

ftp://mirror.aiya.ru/pub/slackware/slackware-10.1/source/n/mutt/mutt-1.4.2.1i.tar.gz

2) Чтобы быстрее работало, собираем со следующими флагами:

CFLAGS=’-O2 -march=i486 -mcpu=i686\′

3) Теперь конфигурируем следующим образом:

./configure --prefix=/usr

--sysconfigdir=/etc/mutt /* Можно просто /etc */

--with-mailpath=/var/mail /* Для Debian. Для других дистрибутивов /var/spool/mail */

--enable-pop

--enable-imap /* Можно упустить */

--with-ssl

--enable-locales-fix /* В оригинальной версии не работает, только в пропатченной */

--without-wc-funcs

3) Дальше все по обычному сценарию.

Уже послал разработчикам Debian.

Удачи!

DimkaS
nnivanov
2) Чтобы быстрее работало, собираем со следующими флагами:

CFLAGS=’-O2 -march=i486 -mcpu=i686\′

А почему именно так? И что лучше для AMD Sempron? Где можно почитать побольше про эти вещи?

anonymous
DimkaS
А почему именно так?

Я с годами выработал себе привычку компилировать именно с этими флагами. На большинстве современных PC (x86) получается очень хороший код. Но нет никаких гарантий, что это лучший вариант, однако практика позазывает, что лучше, чем дефлотный.

И что лучше для AMD Sempron? Где можно почитать побольше про эти вещи?

Почитать про это можно в документации к gcc. Других (более информативных) источников не знаю.

Надо перерыть много доков и потратить много сил и нервов, чтобы понять, как работают опции оптимизации -O (1, 2 …). Единственное, что могу посоветовать — не злоупотреблять -O3 — часто такой «высокооптимизированный» код падает в самых неожиданных местах.

rgo
DimkaS
А почему именно так? И что лучше для AMD Sempron? Где можно почитать побольше про эти вещи?

info gcc, там все опции оптимизации описаны ;) Я с последнего разбирательства на тему как же та или иная опция может изменить asm-код вынес ещё -finline-functions, -ffast-math -msse и -ftracer.

замечу что -mcpu объявлена deprecated (gcc-3.4.4), и заместо неё рекомендуется пользовать -mtune=, для sempron’а, наверное, стоит использовать -mtune=athlon-4 ? Хотя не знаю, не имея атлона, ни разу не интересовался чем же amd’шые процы между собой отличаются, и что есть sempron в этой линейке.

nnivanov

вся эта процедура для того чтобы mutt, разглядывая заголовки почты и LC_*, правильно бы перекодировал письма при выводе на экран, я правильно понял?

DimkaS

спасибо!

anonymous
rgo
info gcc, там все опции оптимизации описаны ;) Я с последнего разбирательства на тему как же та или иная опция может изменить asm-код вынес ещё -finline-functions, -ffast-math -msse и -ftracer.

замечу что -mcpu объявлена deprecated (gcc-3.4.4), и заместо неё рекомендуется пользовать -mtune=, для sempron’а, наверное, стоит использовать -mtune=athlon-4 ? Хотя не знаю, не имея атлона, ни разу не интересовался чем же amd’шые процы между собой отличаются, и что есть sempron в этой линейке.

Спасибо. Приму к сведению.

nnivanov

вся эта процедура для того чтобы mutt, разглядывая заголовки почты и LC_*, правильно бы перекодировал письма при выводе на экран, я правильно понял?

Он правильно перекодирует, только в нерусифицированном варианте отказывается отображать на экран русский текст. Дело в том, что меня (и многих, я полагаю) бесит нажимать д/н (да/нет) вместо y/n (yes/no), например, поэтому я использую англоязычную локаль. Но в этом случае штатный mutt в debian-е отказывается показывать русский текст. То, что я описал, ликвидирует вышеуказанную проблему.

Это, кстати, касается не только русского языка. Кстати, Патрик (Slackware) давно пронюхал и решил эту проблему (будучи немцем).

rgo
что меня (и многих, я полагаю) бесит нажимать д/н (да/нет) вместо y/n (yes/no)

а я нажимаю y/n, не глядя чего он мне пишет: (Да/Нет) или (Yes/No)… и работает однако.