LINUX.ORG.RU

Как собрать GCC, что бы сообщения выводились на английском?


0

1

Дистрибутив openSuSE 11.4 встроенный компилятор gcc4.5. Нужно доставить в систему компилятор gcc 4.4.6 и, соответственно, переключать эти компиляторы. Компилятор gcc 4.4.6 скомпилировал с такими же настройками как и системный компилятор, установил в систему, и спомощью alternatives эти компиляторы переключаются. Вобщем работает. Однако осталась одна проблемма с которой не могу разобраться. Компилятор тот что в системе выводит сообщения об ошибках на английском языке, а вновь скомпилированный 4.4.6 - на русском. Значит, есть переменная LANG=ru_RU.UTF-8, и когда ставлю её en_US.UTF-8, то оба компилятора выводят сообщения на английском, но тогда система не руссифицирована. Можно в консоле перед вызовом gcc устанавливать export LANG... Вопрос в том, как скомпилировать gcc, чтобы сообщения всегда выводились на английском? Ведь системному компилятору не нужно специально устанавливать какие-либо переменные окружения.
Решение 1:

configure --disable-nls
не скомпилирует и не установит файлы локализации. Спасибо anonymous.
Решение 2: Удалить файл, как подсказал i-rinat
rm /usr/share/locale/ru/LC_MESSAGES/gcc.mo



Последнее исправление: Demitreus (всего исправлений: 2)

локаль

anonymous
()
Ответ на: комментарий от deterok

Да, локаль влияет. Но для системного gcc 4.5, который включен в дистрибутив локаль по барабану - он печатает варнинги на английском. Хочу чтобы так было и в gcc 4.4.6

Demitreus
() автор топика
LANG=en gcc ...

Или сразу экспортнуть.

anonymous
()
Ответ на: комментарий от Demitreus

Но для системного gcc 4.5, который включен в дистрибутив локаль по барабану - он печатает варнинги на английском.

В генте все определяется локалью. А так, претензии должны быть к криворуким мейнтейнерам.

iVS ★★★★★
()

gcc-locale поставь и будет системный на русском. походу нужно вручную грохнутьо аналогичные файлы для 4.4.6

Novell-ch ★★★★★
()

Ведь системному компилятору не нужно специально устанавливать какие-либо переменные окружения.

почему ты не хочешь просто поставить LC_ALL=C перед вызовом компилятора? Зачем эти костыли городить?

drBatty ★★
()
Ответ на: комментарий от anonymous

Ещё один. Точнее надо.

Это ничем не отличается от сборки gcc в пакеты с отделением локалей в отдельный пакет, как в дистрибутивном. Куда уж точнее?

А то получается хуже, чем LANG=C

А что плохого в LANG=C? Если тебе не нравится C, можно использовать LANG=FORTRAN или LANG=C++.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

дык чем rm хуже комиляции и потери пары десятков минут времени? Самый KISS как по мне.

Novell-ch ★★★★★
()
Ответ на: комментарий от anonymous

configure --without-nls их не скомпилирует и не установит.

P. S. Боже, что случилось с людьми! Почему они не знают матчасти. (Это не про ТС.)

configure --without-nls не помогло, файл локализации всё равно устанавливается, но спасибо за наводку. Я хотябы нашёл gcc.mo, в котором находитятся русские сообщения.

/usr/share/locale/ru/LC_MESSAGES/gcc.mo

Demitreus
() автор топика
Ответ на: комментарий от i-rinat

Если тебе не нравится C, можно использовать LANG=FORTRAN или LANG=C++.

у тебя дурацкие шутки. Можно только C и POSIX. Ну и ещё список на 3 листоа locale -a. Но FORTRAN там нет.

drBatty ★★
()
Ответ на: комментарий от i-rinat

А что плохого в LANG=C? Если тебе не нравится C, можно использовать LANG=FORTRAN или LANG=C++.

в квотезы!

BattleCoder ★★★★★
()
Ответ на: комментарий от i-rinat

Кроме манов надо ещё и код читать

ППЦ. Чем тебе помогают в чтении кода сообщения об ошибках на FORTRAN'е? Дай-ка почитать свой /usr/share/locale/FORTRAN/

drBatty ★★
()

alias gcc='LANG= gcc'

anonymous
()
Ответ на: комментарий от i-rinat

Ну ты же читаешь сообщения об ошибках на C. Чем FORTRAN хуже?

C это «никакая» локаль. А вот локаль «FORTRAN» — ошибочная локаль. Нету такой.

Кури матчасть.

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.