«Полируем» Alfresco дальше…

В корневом каталоге своей установки Alfresco в процессе своей работы создает файлы протоколов (логи). Изначально создаваемый файл носит имя alfresco.log. Впоследствии, при создании нового протокола, старый файл не удаляется, а к его имени просто добавляется дата, и выглядит это примерно так — alfresco.log.2009-01-26. Таким образом, лог с датой в имени — это старый лог. А саммый «свежий» лог — это всегда файл alfresco.log. А на кой он нам нужен? Так для ловли блох, однако! Ну или, проще говоря, — для поиска ошибок. Вот, взял я и почитал лог своей Alfresco. Не зря, т.к. нашел в нем следующие строки:

11:27:12,572 ERROR [org.alfresco.repo.content.transform.swf.PDFToSWFContentTransformer] Failed to start SWF2PDF transformer:
Execution result:
   os:         Linux
   command:    pdf2swf -V
   succeeded:  false
   exit code:  1
   out:
   err:        Cannot run program "pdf2swf": java.io.IOException: error=2, No such file or directory

Что это значит? Да ничего особенного, просто Alfresco не смогла запустить программу pdf2swf. И причину указала — «нет такого файла или каталога». «Не нашла», «не запустила» — не порядок, однако! Чтож, будем наводить красоту, будем искать!..

Пару минут общения со «всемирным» поисковиком, показали, что во-первых, pdf2swf является частью пакета swftools. А во-вторых, что сайт, на котором можно скачать пакет, следующий — http://www.swftools.org/. Быстрый взгляд в «родной» набор пакетов моей Mandriva, показал, что там такого не числится. Чтож, качаем tar.gz-архив с указанного сайта, распаковываем и устанавливаем. Все стандартно,  Сначала команда:

./configure

(Естаственно, от имени root-а). Просмотр вывода ее результатов (да, иногда и такое бывает полезно) показал такие строки:

checking for missing libraries...  ungif gif_lib.h
***************************************************
* The following headers/libraries are missing:  ungif gif_lib.h
* Disabling gif2swf tool...
***************************************************

Хорошо-ли, плохо-ли, но ведь снова «не порядок»! Идем искать дальше. Сообщение об отсутствующей библиотеке пропало лишь после того, как я командой

urpmi libungif4-devel

установил пакет libungif4-devel-4.1.4-3mdv2008.0.i586.rpm. Чтож, возвращаемся к установке swftools. Повторяем комманду «./configure«, затем — «make» и напоследок — «make install«. Установили! Перезапускаем Alfresco, смотрим в лог — ура, нет больше такого сообщения об ошибке! Хорошо! Но, «пришла беда откуда не ждали». Точнее, данное сообщение об ошибке вновь появилось в логе после очередной перезаггрузки компьютера. Проблема была в путях. Исправилась созданием символьной ссылки командой:

ln -s /usr/local/bin/pdf2swf /usr/bin/pdf2swf

После этогго данная ошибка пропала навсегда…