скачали ананас с сорсфорджа. распаковываем. заходим.
пытаемся по привычке сделать ./configure - отплевывается, что все уже давно сконфигурено. странно. ладно, смотрим ls - точно, лежит Makefile.
Запускаем make. - кричит нету qmake. часа два пытаемся выведать у yum-а что за зверь такой qmake и где живет. методом псевдонаучного тыка определяем пакет qt3-devel - его и ставим, к нему на всякий случай и qt3-devel-doc и qt3-config.
Еще раз запускаем make и пред нами плывет процесс сборки сопровождаемый обильными warning-ами про то, что операнды && и || лучше окружать скобками, не надеясь на привычки компилятора. процесс сборки недолгий и ожидаемо заканчивается надписью "error 2". Где случилось, чего не хватает? директория formdisigner - будем копать, курить доки, и закапываться вглубь кода. Открываем файл INSTALL - там инструкция на 3 строках о создании хоть одного юзера базы данных, и самой базы - причем только для pgSQL, раздел мускуля девственно чист...
путем чтения нескольких README и HOWTO-BUILD приходим к выводу, что нужна какая-то QSA (типо скрипт-языка для ананаса),и, не обращая внимания на файл bkground.png, всем своим видом показывающего, что его стянули из поставки WindowsXP (заставка "Ночной ковыль"), продолжаем раскопки.
Урра! нашли инфу - прочитали, наконец, файлик ananas.spec.fedora, а именно депенденси:
- Код: Выделить всё
Requires: mysql-server >= 4.1
Requires: mysql >= 4.1
Requires: qt >= 3.2.0
Requires: qt-qsa >= 1.1
Requires: bluecurve.so
Requires: zip
Requires: unzip
BuildRequires: gcc-c++ libstdc++-devel
BuildRequires: mysql-devel
BuildRequires: qt-devel
BuildRequires: qt-qsa-devel
Что означает очередной виток отношений с юмом - ставим qt-qsa*, mysql-server(он сразу с клиентом), zip и unzip и так были, для bluecurve нужен пакет bluecurve-kde-theme (именно там .so лежит темы qt), остальное (gcc/g++ и иже с ними) были. Все проверялось через yum list installed|grep <имя>.
Вернемся к нашим баранам, то есть ананасу. Те же варнинги (а куда они денутся?), плюс заметил еще: связанный с qt - "session manager: none of the authorization protocols specified are supported", и несколько неиспользуемых переменных. В итоге все собралось.
Теперь два варианта - установить все напрямую или собрать RPM для федоры. Второй вариант лучше, потому как удалять проще будет.
Значит пробуем второй вариант, если не удается - первый.
Кстати, по поводу вышеуказанных депенденсей - во-первых куда подевалась pgSQL? а во-вторых gcc-c++ libstdc++-devel не обязательно указывать - они и так для каждого билда обязательны.
Итак, для сборки RPM-a нужно (теоретически):
поставить rpmdevtools,rpm-build, в домашней директории дать (от себя) команду rpmdev-setuptree, которая создаст дерево, положить скачаный пакованый сорц в SOURCES, spec-файл в SPECS, и выполнить сборку, получив в RPMS искомый пакет.
rpmbuild -ba rpmbuild/SPECS/ananas.spec.fedora - и смотрим на уже знакомые варнинги)
получили ananas-0.9.5-f10.i386.rpm - Ставим!
сплеш не нашелся. жалко. но вроде работает. С ошибочками, но работает:
- Код: Выделить всё
Log system not initialized!
QPixmap::fromMimeSource: Cannot find pixmap "/usr/share/ananas/designer/locale/engine-splash-ru.png" in the mime source factory
extensions:
XML
Service
Meta
SQL
Text
XXXX
QGDict::hashKeyString: Invalid null key
QuickDispatchObjectFactory::addObjectFactory()
class 'ComboBox' is already registerd
Ошибка сегментирования
Итак, установка закончена. Ананас прижился на машине. Маленькая настройка все-таки понадобилась - изменение темы QT3 - шрифт увеличил до 8 пунктов, т.к. на дефолте ничего не видно.
Плюсы: практически полноценная бизнес-платформа. Пригодна для применения в бизнесе, основана на базе данных MySQL.
Минусы:
1.Сложность развертывания и недостаток документации (установочной)
2.Установка дефолтных конфигураций на этапе установки - а как быть с уже установленными запароленными SQL-серверами? sql-файлы надо ложить в /usr/share/examples и прилагать шелл-скрипт (типа ananas-setup-examples) для быстрой установки. Настройки взаимодействия с базой данных и конфигураций - в /usr/etc (раз вы приняли за инсталлрут /usr)
3.Возможность установки из исходника реализована не до конца - ошибки отсутствия необходимых компонентов должен выявлять этап конфигурации (configure)
Огромнейшее спасибо авторам программы. Курю маны...