Как установить программу "Правда"

Сейчас будет как у Задорнова - "Что и это не помогает?!!!". Не пугайтесь,
что описание длинное - это из-за описания всяких экзотических случаев.
Обычно достаточно просто сказать:

   rpm -i prawda-0.4.1-dev.i386.rpm

Итак обо всем по порядку:

0) Если у Вас стояла предыдущая версия "Правды" - удалите ее. (Умные люди
   не удаляют, а "прячут".) Удалить надо следующее:
   1) ~/.prawdarc - файл настоек
   2) ~/prawda (или куда Вы его там ставили) - каталог словарей и других 
         данных.
   3) деинсталировать rpm

1) Если у Вас не Red Hat (не основанный на rpm дистрибутив), то переходите к 
   пункту 3. Если у Вас Red Hat, или что-то ему подобное, скачиваете rpm и 
   ставите его командой:
   
   rpm -i prawda-0.4.1-dev.i386.rpm

2) Программа, конечно, поставится, но на некоторых машинах при запуске сразу 
   же получается SegFault. Это происходит из-за несоответствия версий libc.
   Грамотно исправить эту ситуацию я не могу, а неграмотно - можно пересобрать
   exe-шники на Вашей машине. Для этого случая я держу отдельный архив только
   с cишниками. Делается это так:
   1) Скачиваете архив prawda-0.4.1-src.tar.bz2
   2) Разворачиваете
      bunzip2 prawda-0.4.1.src.tar.bz2
      tar xvf prawda-0.4.1.src.tar
   3) заходите в файл prawda/src/bin и делаете make -f makefile.exe. Получите 
      массу исполняемых файлов.
   4) Получившийся файл  prawda и кладите в каталог /usr/bin
      (остальные Вам не нужны)
   5) Должно заработать.

3) Если у Вас не Red Hat (не prm-based дистрибутив), то нужно собрать и установить 
   программу из исходников. Делается это так:
   1) скачиваете prawda-0.4.1.tar.bz2
   2) разворачиваете:
      bunzip2 prawda-0.4.1.tar.bz2
      tar xvf prawda-0.4.1.tar
   3) собираете:
      cd bin
      make
      Если не собралось, читаете следующую секцию.
   4) ставите:
      make install
   5) Должно заработать.

Как скомпилировать exe-шники

В принципе достаточно дать команду make в каталоге src/bin.
По этой команде должно произойти следующее:
   1) сделаться все исполняемые модули
   2) разархивироваться все словари
   3) оттранслироваться файл описания грамматики
   4) сформироваться документация на С++ исходники, и описание грамматики

Если у Вас не получились экзешники, то это может быть по одной из следующих
причин:
1) Я не делаю automake и autoconf (не умею). По этому мой makefile настроен
   исключительно на Red Hat 7.3. Если у Вас другая верия Юникса, другой 
   компилятор, или библиотека X11 лежат в другом месте, Вам придется залезть в 
   файл makefile.exe и поправить там переменные COMP, LINK и LDFLAGS.
2) У меня довольно древний gcc - 2.96. Новые версии компилятора значительно
   строже, многие шалости, которые раньше были Warning-ами стали Error-ами. 
   Если у Вас возникла ошибка на этапе компиляции, пишите мне, больше тут 
   ничего не придумаешь.

Параметры конфигурационного файла

При первом запуске "Правда" пишет в Ваш домашний каталог настроечный файл
.prawdarc (обратите внимание на точку перед именем). В этом файле хранятся 
настроечные параметры программы.
Параметры:
   path          - каталог, в котором находятся все данные (грамматика и 
                   словари)
   size_x,size_y - размеры окна программы в буквах 
   font          - шрифт, который использует иксовая версия "Правды"
   RTFM          - если этот параметр равен Yes, то программа при старте
                   дает полезный совет
   Figna         - если этот параметр равен Yes, то при неполном переводе
                   фразы пишется слово \#фигня. Этот режим нужен для отладки.
   rus           - включить внутренний руссификатор. На некоторых машинах 
                   моя программа почему-то отказывается понимать русскую 
		   клавиатуру. 
Примечание. Иногда, если Вы раскладываете файлы руками, настроечный файл
в домашнем каталоге не появляется. Его можно взять из архива. В архиве этот 
файл имеет название prawdarc.local .


Что еще надо настроить

Поскольку "Правда" работает с русским языком, надо присвоить переменной 
окружения LANG значение, соответсвующее русскому языку. У меня LANG = ru_RU.koi8r.
Кроме того на вашей машине должен быть хотя бы один русский шрифт в кодировке
iso10646-1 (Юникод то есть). Я использую вот такой шрифт:

    -cronyx-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

Вы можете использовать любой другой. Задайте значение переменной font в файле 
~/.prawdarc. Ну и это... когда будете шрифт выбирать, выбирайте моноширинный 
(фиксированный) шрифт, иначе выглядеть оно будет как... бред пьяного сисадмина.

Какие файлы для чего

Настроечные файлы
   version     - версия данных (должна соответствовать версии программы)   
   language.rc - языки, с которых возможен перевод
   z_preproc.rc - перечисление имеющихся препроцессоров
                  (можно удалить, толку от них никакого)
   z_man.rc     - настройки препроцессора для UNIX-манов

Исходники
   src       - всякие С++ исходники
   src/face  - исходники отвечающие за интерфейс
   src/trans - исходники отвечающие за ядро перевода
   src/utils - исходники различных утилит, нужных для работы над переводчиком

Грамматика
   grammar - исходники грамматики
   grammar/en_ru - алгоритм англо-русского перевода
   grammar/eo_ru - алгоритм Эсперанто-русского перевода

   В каждом этом каталоге  файлы *.cpp *.h являются исходными.
   lang.txt - описание алгоритма перевода с английского (Эсперанто) на 
   русский. Этот файл получается из исходников грамматики командой mklang 
   (лежит в каталоге grammar).

Словари
   dicts - словари
   dicts/en_ru    - словари для англо-русского перевода
       base_enru  - основной словарь переводов
       base_enru1 - словарь служебных слов
       base_fverb - словарь фразовых глаголов
       base_pre   - словарь препроцессора
       base_post  - словарь постпроцессора
       muller     - словарь "для человека"

   dicts/eo_ru    - словари для эсперанто-русского перевода
       base_enru  - основной словарь переводов
       base_enru1 - словарь служебных слов
       bokarev    - словарь "для человека"
   
   zform  - словари, описывающие склонения и спряжения
      english   - английские словари словоизменений
      esperanto - Эсперантские словари словоизменений
      russkij   - русские словари словоизменений

Прочее
   doc   - документация
       html_grammar - исходнки грамматики, в виде html-файлов с гиперссылками.
                Эти замечательные и удобные файлы делаются программий zmkdoc.
		Если Вы будете редактировать описание граматики, то командой
		zgrammardoc можно будет получить такой удобный гипертекст, в 
		котором	относительно хорошо видно, что Вы там накуролесили.
       html_src - мои "гениальные" С-шники, в виде html-файлов с гиперссылками.
                Кхм... предупреждаю, что эти html-ки соответствуют 
		"Правде" v. 0.2.0 То есть несколько устарели.
       help   - онлайн-подсказка. Содержимое этих файлов показывается, когда
                вы нажимаете кнопку F1. Тонкий юмор заключается в том, это 
		настоящий html и Вы его можете еще и браузером смотреть, если
		вам это удобно.
       latex  - Сумма всех моих мыслей, относительно машинного перевода,
                описание того, как это делалось, как это работает и как это можно 
                улучшать и развивать.
          idea.ps - основная идея алгоритма машинного перевода, которую использует
	            "Правда".
          lang.ps - язык описания грамматики. "Правда" - предельно гибкая система,
	            и ее можно "программировать" не будучи программистом. Вплоть 
		    до того, что можно научить понимать ее другой язык (например 
		    немецкий).
          grammar.ps - описание грамматики (по сути, алгоритма перевода с 
	            английского на русский).
          esperanto.ps  - описание алгоритма перевода с Эсперанто на русский.
          source.ps  - описание описание моих замечательных исходников (вдруг 
	            кому-то захочется баги править).
          interface.ps  - мои взгляды, на то, каким должен быть интерфейс
	            программы-переводчика. Своего рода ЧаВо на вопросы, которые 
		    мне задают желающие присоединиться к проекту.

       other(readme) - вся остальная документация, которая не влезла в остальные
                разделы.

   src/bin - make-файлы и исполняемые программы
       makefile     - общий маке-файл
       makefile.exe - маке-файл, делающий исполняемые модули (вызывается
	              из общего маке-файла)
       makefile.doc - маке-файл, делающий документацию (вызывается
	              из общего маке-файла)
       Исполняемые модули (делаются при компиляции):
       prawda       - собственно программа-переводчик

       Эти программы могут быть, а могут не быть (они нужны только 
       разработчикам):
       zcompress2  - мой доморощенный сжиматель словарей
       zerolink    - программа, тестирующая описание грамматики, которая
                     обнаруживает неиспользуемые конструкции
       zfrasa_verb - программа, разжимающая словарь фразовых глаголов
       zgrammardoc - программа, делающая гипертекстовое описание грамматики
       zkod        - кодировка win->koi->dos
       zmkdoc      - программа, делающая гипертекстовое описание сишников
       ztest       - программа, тестирующая описание грамматики на корректность
                     синтаксиса
       zword_absend - программа, обнаруживающая в главном словаре слова,
                      которым не заданы способы склонения и спряжения.
   src/obj - обьектные файлы (в первоначальный момет этот каталог пуст)

Как удалить

Если Вы ставили программу из rpm, то просто удалите rpm.

Если Вы ставили программу из makefile, то я поленился написать соответсвующий 
скрипт. Поминаете меня недобрым словом, потом удаляете следующие файлы и
каталоги:
   /usr/bin/prawda
   /usr/share/prawda
   /usr/doc/prawda
   ~/prawdarc  (для каждого пользователя)
   ~/prawda    (для каждого пользователя)









Если вам необходим почтовый аккаунт, тогда почта на Qip.ru - ваш выбор. Для хранения фото и видео рекомендуем бесплатный фотохостинг.
Для студентов и абитуриентов: крупнейшая библиотека рефератов и сочинений. Скриншот экрана - просто и удобно с QIP Shot.