Difference between revisions of "Самостоятельные сборки: Часто задаваемые вопросы"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Сборка завершается аварийно, с сообщением о том, что некоторый модуль должен быть пересобран (should be built). Что делать?)
m (Сборка завершается аварийно, с сообщением о том, что некоторый модуль должен быть пересобран (should be built). Что делать?)
Line 120: Line 120:
 
--[[User:Citycat|citycat]] 15:04, 5 September 2007 (CEST)
 
--[[User:Citycat|citycat]] 15:04, 5 September 2007 (CEST)
  
Во-первых, не нервничать :-) При сборке любой версии, кроме ванильной, это '''штатная''' ситуация. Нужно попробовать пересобрать запрошенный модуль с помощью простого скрипта:
+
Во-первых, не нервничать :-) При сборке любой версии, кроме ванильной, это '''штатная''' ситуация. Нужно попробовать пересобрать запрошенный модуль с помощью простого скрипта (в данном случае пересобирается модуль sax):
 
<pre>
 
<pre>
 
#!/bin/tcsh
 
#!/bin/tcsh

Revision as of 13:24, 5 September 2007


Раздел часто задаваемых вопросов по самостоятельной сборке OpenOffice в различных операционных системах

Contents

Pkgutil.png Общие вопросы

А зачем все это нужно? Есть же уже готовые сборки

Разумеется, есть. В большом количестве, под различные платформы, под различные языки, практически на любой вкус. Но всегда может найтись пользователь, который захочет например сборку с оптимизацией под конкретную модель процессора, под конкретную версию операционной системы, с локализацией на языке, под который не собирает никто, с оптимизацией использования системных библиотек и т.д.

Кроме того, самостоятельная сборка OOo - неплохой тест на знание систем автоматической сборки под данную платформу

Pingss.png Linux

Bsd.png FreeBSD

Какие сборки и под какие версии существуют для FreeBSD

--citycat 21:35, 3 September 2007 (CEST)

Для FreeBSD официально существует только одна сборка - ванильная, то есть сборка из исходных текстов, публикуемых основной командой проекта OpenOffice.org. Как и всякое другое программное обеспечение, эта сборка выполняется через систему портов и проходит общее тестирование на "собираемость" под всеми поддерживаемым платформами и архитектурами (см. Сайт FreeBSD для подробного перечня). Ответственным за внесение изменений в порт editors/openoffice.org-2 является команда поддержки OpenOffice.org для FreeBSD (openoffice@freebsd.org).

Вся информация об изменении в официальном порту и о собранных готовых сборках доступна на OpenOffice.org под FreeBSD.

Инфра-Ресурс тоже собирает OpenOffice.org Pro под FreeBSD, правда поддерживается только FreeBSD 6.x для IA-32. Это правило сраведливо практически ко всем неофициальным сборкам - поддерживается только на версия и архитектура, на которой работает сборщик. Используется сильно модифицированный порт editors/openoffice.org-2, который никогда не сабмиттился в дерево портов. При сборке в OpenOffice.org вносятся все патчи, разработанные "Инфра-Ресурс", что выгодно отличает ее от официальной сборки.

Наконец, существуют пользовательские сборки, то есть сборки, выполненные пользователями-энтузиастами. Автор ответа на данный вопрос является одним из них. Пока моя сборка нигде не выкладывается, но если кто-нибудь предоставит мне место, достаточное для хранения пакета, порта и сопутствующей документации (примерно 140 Мб) - будет.

Краткое описание сборки Cats Paw, выполняемой мной, можно посмотреть здесь. А здесь можно скачать порт, используемый для ее сборки. Используется порт editors/openoffice.org-2, в которую вносятся изменения из порта, используемого для сборки "Инфра-Ресурс".

Какие системные требования к компьютеру, на котором планируется собирать OpenOffice.org

--citycat 22:37, 3 September 2007 (CEST)

Сборка OpenOffice.org - процесс чрезвычайно длительный. Даже проверенная ванильная сборка идет порядка 8-9 часов. Пользовательская же сборка как правило, прерывается из-за каких-нибудь ошибок, в результате чего процесс может растянуться на дни. Главное требование - место на жестком диске. Свободного места в разделе /usr должно быть не менее:

  • 9 Гб, если идет обычная сборка с локализацией под один язык и без отладки
  • 18 Гб, если то же самое, но с отладкой
  • 35 Гб, если с локализацией под все возможные языки

Оперативной памяти должно быть не менее 1 Гб, желательно 2 Гб, хотя сборка пройдет и на 512 Мб, просто идти будет дольше.

Оценка времени: на компьютере IA-32 PiV 2233 Hz/1GB RAM/120 GB UATA-100 сборка идет 8-9 часов

Можно ли как-то сократить время сборки

--citycat 22:55, 3 September 2007 (CEST)

Можно в определенных пределах.

  • Если не планируется использование адресной книги Mozilla/Thunderbird, испольузйте опцию WITHOUT_MOZILLA=yes (для порта Cats Paw снимите пометку с опции WITH_MOZILLA)
  • Отключите другие неиспользуемые компоненты - CUPS, Evolution 2, Gnome VFS, Office Development Kit (ODK), Quality Assurance (QADevOO), Gstreamer, Cairo, Portaudio/Sndfile, NAS, Mono. Не забывайте, что с каждым отключаемым компонентом вы теряете некую функциональность, которую потом не восстановить. В порту Cats Paw просто снимите или не отмечайте соответствующие пункты в опциях. В других портах добавьте нужные опции в строку CONFIGURE_ARGS самостоятельно
  • Включите максимально возможное использование системных библиотек. (для порта Cats Paw отметьте максимально возможное количество опций With independent .... В других портах добавьте нужные опции в строку CONFIGURE_ARGS самостоятельно.) Разумеется, все эти библиотеки должны быть установлены заранее.
  • Отключить использование Java и сборку Java-компонентов. Получится сборка, не требующая для работы Java-машину. Хорошо это или нет - этот вопрос неоднократно подымался на форуме
  • Запустить configure --help в подкаталоге config_office, просмотреть полный список параметров (ни один порт не использует все параметры) и отключить неиспользуемые дополнительные компоненты или включить использование дополнительных системных библиотек
  • Не запускайте на время сборки никаких других задач, завершите все второстепенные приложения, или вообще закройте графический оболочку и оставьте только консоль

Как использовать порты неофициальных сборок

--citycat 23:04, 3 September 2007 (CEST)

Очень просто. Закачиваете собственно порт, распаковываете его в /usr/ports/editors, переходите в каталог порта и запускаете make. Теоретически, все должно закончится через 8-9 часов без ошибок. Практически, скорее всего так не будет :-)

А что, без Java-машины никак не собрать?

--citycat 23:15, 3 September 2007 (CEST)

Вообще-то можно и без Java-машины. Достаточно в параметрах configure указать --with-java=no. Этот параметр не вынесен в опции. О том, стоит или не стоит это делать, можно почитать на форуме - эта тема поднималась неоднократно

В процессе сборки очень активно используется компилятор Java - программа javac. Вместо Java-машины от Sun можно использовать GNU GCJ (правда версия пакета GCC, в который входит GCJ, должна быть не ниже 4.1). Для использования GCJ в порту Cats Paw отметьте соответствующую опцию. Для других портов задайте параметр WITH_GNUGCJ=yes

Какую версию Java-машины достаточно иметь?

--citycat 23:38, 3 September 2007 (CEST)

Любую версию начиная с 1.4.x. Если Java-машина установлена по стандартному пути /usr/local/jdk-1.x.y, то она будет автоматически найдена во время запуска make, в противном случае сборка перейдет к установке Java. Нестандартное расположение Java-машины задается параметром --with-jdk-home. Этот параметр не вынесен в опции

Мне не хочется собирать Java-машину. Можно где-нибудь скачать уже собранную?

--citycat 19:07, 4 September 2007 (CEST)

Нет. Согласно лицензии Sun, Java-машина может распространяться в собранном виде только самим Sun. Все остальные должны скачать исходные тексты и собрать Java-машину самостоятельно. Sun распространяет Java-машину только для операционных систем Windows, Linux и Solaris. Поэтому любое распространение собранной Java-машины нарушает лицензию.

Какое дополнительное программное обеспечение необходимо для сборки OpenOffice.org

--citycat 19:09, 4 September 2007 (CEST)

Требуется весьма впечатляющий список

В первую очерель требуется GCC 3.4.1. Именно этой версии. Почему GCC 3.х более старшей версии не собирает OpenOffice.org - не знаю. Это настолько проблематично, что для этого создан специальный порт lang/gcc-ooo.

Далее потребуется gpatch, gtar и комплект GNU утилит общего назначения coreutils. Конечно, можно было бы наверняка использовать их BSD аналоги, но делать это некому

Далее потребуются Perl-модули p5-Archive-Zip, p5-Compress-Zlib, p5-Compress-Raw-Zlib, p5-IO-Compress-Zlib, p5-IO-Compress-Base, p5-PathTools, p5-ScalarListUtils, p5-FileTemp, p5-FileWhich

Последнее, что понадобится - это bison2 и apache-ant. А также Java-машина, если вы не решились ее отключить

Как мне сделать так, чтобы при запуске OpenOffice.org выводилась заставка с моим логотипом

--citycat 20:28, 4 September 2007 (CEST)

Для того, чтобы при запуске выводилась Ваша заставка, а во время вызова "О программе" выводилось окно опять же с логотипом и текстом "Этот продукт был создан..." нужно перед началом сборки проделать следующее:

  1. Подготовить логотип в виде файла с прозрачным фоном
  2. Взять файлы ooonologointro.bmp и oooabout.bmp (если используется ванильный порт - в каталоге svx/res/, если порт "Инфра-Ресурс" или Cats Paw - в каталоге патчей, res/infra (oooabout.bmp может называться также openabout.bmp), вставить в них свой логотип
  3. Редактором, поддерживающим кодировку UTF-8, исправить вторую строку в файле каталог_патчей/sdf/ru/ru-vendor.sdf. Для ванильной сборки необходимо указывать параметр --with-vendor="текст". В таком случае в строке невозможно использовать символ "двойная кавычка" - он интерпретируется шеллом. Экранирование в \" проблему не решает.
  4. В параметры configure добавить:
                       --with-intro-bitmaps=${WRKDIR}/infra-ooo-files_${OOOVERSION}/res/infra/ooonologointro.bmp
                       --with-about-bitmaps=${WRKDIR}/infra-ooo-files_${OOOVERSION}/res/infra/openabout.bmp

если файлы редактировались на месте или же указать расположение новых файлов

Как применять не все патчи от Инфра-Ресурс, а только некоторые

--citycat 14:19, 5 September 2007 (CEST)

Распаковка патчей от "Инфра-Ресурс" выполняется в мишени post-extract, а применение - в мишени post-patch. В порту Cats Paw для этой цели выделена подмишень infrapatch. Сделано это для того, чтобы можно было выполнить только применение патчей от "Инфра-Ресурс".

Применение патчей упрвляетс файлом patches/src680/apply. Для того, чтобы патч не применялся, его не нужно удалять. Более того, его нельзя удалять - если файл будеть удален, применение патчей завершится аварийно. Для того, чтобы патч не применялся, его достаточно закомментировать в файле apply

Сборка завершается аварийно, с сообщением о том, что некоторый модуль должен быть пересобран (should be built). Что делать?

--citycat 15:04, 5 September 2007 (CEST)

Во-первых, не нервничать :-) При сборке любой версии, кроме ванильной, это штатная ситуация. Нужно попробовать пересобрать запрошенный модуль с помощью простого скрипта (в данном случае пересобирается модуль sax):

#!/bin/tcsh
source FreeBSDX86Env.Set
cd sax
build

сохранить вывод в файл и подробно его исследовать - где-то наверняка скрывается настоящая ошибка, например:

/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
dmake:  Error code 1, while making '../unxfbsdi.pro/lib/sax.uno.so'

Execwine.png Windows


Другие Часто задаваемые вопросы

Personal tools