Блог о математике, программировании, алгоритмах. И немного о работе операционной системы Linux.

понедельник, 19 апреля 2010 г.

Проблемы при запуске ANTLRWorks в Ubuntu 8.04

Генератор синтаксических анализаторов ANTLR выгодно отличается от других программ из этого класса наличием IDE. Она носит название ANTLRWorks. Проблем при запуске может и не быть (если установлены все нужные пакеты), но у меня они возникли. Итак, для того, чтобы запустить её из-под Ubuntu 8.04 (на других не пробовал) нужно:
1. Скачать саму программу с официального сайта. Она представляет из себя простой *.jar пакет.
2. Иметь установленным пакет sun-java6-jdk (sudo apt-get install sun-java6-jdk).
3. И (самый коварный момент) НЕ должен быть установлен пакет java-gcj-common (и остальные, начинающиеся с этого префикса). Как только я удалил эти пакеты программа запустилась.

Запустить программу можно так:
java -jar antlrworks-1.3.1.jar

Tips & Tricks #1: Забытый Dev-Cpp

Недавно я установил новый QtSDK. Компиляция простого GUI проекта приводила к нелогичным ошибкам:

undefined reference to `_Unwind_Resume'
undefined reference to `__gxx_personality_v0'

Решение оказалось чрезвычайно простым. Давным-давно я ставил на комп Dev-Cpp, и конечно же, не догадывался, что qmake берет MinGW именно оттуда. Удаление Dev-Cpp решило проблему. MinGW «стал браться» из нужного места (папки mingw в папке с QtSDK) и все заработало. Чтение maillist-а и makefile решает любые проблемы.

понедельник, 5 апреля 2010 г.

Проблемы с install-info при установке пакетов в Ubuntu

При установке некоторых пакетов в Ubuntu (8.04) начала возникать ошибка:

install-info: No dir file specified; try --help for more information.
dpkg: не удалось обработать параметр <название пакета> (--configure):
 подпроцесс post-installation script возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
 <название пакета>

Осмотр пре- и постинсталляционных скриптов пакетов, при установке которых возникали ошибки (кэш пакетов находится в папке /var/cache/apt/archives), показал, что ошибка возникает именно на команде install-info.

Некоторые google-мучения подсказали, что нужно проверить версии установленных приложений.

numlock@oligocheta:~$ whereis install-info
install-info: /usr/sbin/install-info /usr/local/bin/install-info /usr/share/man/man8/install-info.8.gz
numlock@oligocheta:~$ /usr/sbin/install-info --version
Debian install-info version 1.14.25.
...
numlock@oligocheta:~$ /usr/local/bin/install-info --version
install-info (GNU texinfo) 4.13
...

Я попытался поменять местами значения переменной PATH '/usr/sbin:' и '/usr/local/bin:'. но это не привело к должному эффекту. Поэтому я просто переименовал символическую ссылку install-info в install-info-gnu (в папке /usr/local/bin), чтобы dpkg находил не его, а версию для Debian.

numlock@oligocheta:~$ sudo mv /usr/local/bin/install-info /usr/local/bin/install-info-gnu

Все заработало.

Рецепт взят из Naveen Kumar Molleti's Tech Blog