Самостійні збірки: Питання, що часто ставляться

From Apache OpenOffice Wiki
Jump to: navigation, search

RU UA

Contents

Pkgutil.png Загальні питання

А нащо все це потрібно? Є багато готових збірок.

Звісно, є. їх багато, під різні платформи, мови, практично на будь-який смак. Але завжди знайдеться користувач, який захоче зібрати програму під іншу платформу, або під маловідому мову, або зі специфічними оптимізаціями.

Окрім того, самостійна збірка OOo - непоганий тест на знання систем автоматичної збірки під дану платформу.

2.3

Чи можна отримати останню версію джерельних кодів із передостанньої, не звантажуючи весь пакет джерельних кодів?

--citycat 19:41, 14 October 2007 (CEST)

Так, можна. Для цього вам знадобиться програма bdelta і дельта-файл, який містить у собі різницю між старим пакетом кодів та новим. Дельта-файл можна попрохати зробити кого-небудь на форумі. Після звантаження дельта-файла його треба використати таким чином:

1. Розархівувати дельта-файл, наприклад

# bunzip2 OOo_2.2.1-2.3.0_FreeBSD62Intel_ru_infra.delta.bz2

2. Розархівувати попередній архів джерельних кодів, наприклад

# bunzup2 OOo_OOF680_m18_source.tar.bz2

3. Запустити bpatch, який внесе зміни, наприклад

bpatch OOo_OOF680_m18_source.tar OOo_OOG680_m6_source.tar OOo_2.2.1-2.3.0_FreeBSD62Intel_ru_infra.delta

Формат командного рядка такий: вихідний файл, цільовий файл (його ім'я обирається вільно), дельта-файл.

Після формиування цільового файла (операція може бути довгою), його необхідно знов запакувати і перерахувати по ньому контрольну суму за допомогою make makesum

2.3

Під які ще варіанти BSD-систем існують збірки OpenOffice.org?

citycat 13:57, 25 January 2008 (CET)

Є збірка для PC-BSD, яка поширюється у нативному PC-BSD формате *.pbi. Звантажити її можна тут.

2.3.1

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 вносятся все патчи, разработанные "Инфра-Ресурс", что выгодно отличает ее от официальной сборки.

Наконец, существуют пользовательские сборки, то есть сборки, выполненные пользователями-энтузиастами. Автор ответа на данный вопрос является одним из них. В настоящий момент моя сборка выложена на сайте Mirahost,который в основном посвящен ей. Скачать пакет с Mirahost можно здесь. Можно также скачать пакет с файлового сервера SibNet.

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

Пользователь inspirra собрает OpenOffice.org Pro для FreeBSD 7.0-RC1. Описание сборки и ссылки на закачку можно найти здесь - OpenOffice.org Pro для FreeBSD-7.0-RC1

2.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 часов

2.2

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

--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, просмотрите полный список параметров (ни один порт не использует все параметры) и отключите неиспользуемые дополнительные компоненты или включите использование дополнительных системных библиотек
  • Не запускайте на время сборки никаких других задач, завершите все второстепенные приложения, или вообще закройте графический оболочку и оставьте только консоль

2.2

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

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

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

2.2

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

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

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

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

2.2

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

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

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

2.2

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

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

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

2.2

Какое дополнительное программное обеспечение необходимо для сборки 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-машина, если вы не решились ее отключить

2.2

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

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

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

  1. Подготовить логотип в виде файла с прозрачным фоном
  2. Взять файлы ooonologointro.bmp и oooabout.bmp (если используется ванильный порт - в каталоге svx/res/, если порт "Инфра-Ресурс" - в каталоге патчей, в подкаталоге res/infra (oooabout.bmp может называться также openabout.bmp), если Cats Paw - в каталоге citycat_files, подкаталоге res, вставить в них свой логотип
  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

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

  1. Для порта Cats Paw можно использовать параметры WITH_INTRO_BITMAP и WITH_ABOUT_BITMAP для указания путей соответственно файлам about и intro

2.2

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

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

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

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

2.2

Сборка завершается аварийно, с сообщением о том, что некоторый модуль должен быть пересобран (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'

2.2

При использовании опции --with-openldap или отметке опции "Use OpenLDAP LDAP SDK" сборка завершается аварийно

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

Скорее всего, не была найдена библитека libldap.so. Происходит это оттого, что в configure ошибка (которая к следующей сборке уже может быть исправлена), вследствие которой теряется переданный LDFLAGS. Следует применить патч configure_LDFLAGS вот из этого архива для решения проблемы. Патч накладывается на файл, уже обработанный патчами от "Инфра-Ресурс"

2.2

Сборка завершается аварийно, потому что не может найти библиотеки, несмотря на то, что они точно установлены

--citycat 16:06, 5 September 2007 (CEST)

Происходит это потому что файл FreeBSDX86EnvSet.sh, который генерируется скриптом set_soenv, который в свою очередь генерируется из файла set_soenv.in, не учитывает тот факт, что во FreeBSD библиотеки и заголовочные файлы могут размещаться в /usr/local/lib и /usr/local/include и не передает их в финальный скрипт. Можно, конечно и сам FreeBSDX86EnvSet.sh подправить, переменные SOLARINC и SOLARLIB. Но более правильный путь - наложить патч из этого архива, после которого скрипт будет генерироваться с должным уважением к /usr/local

2.2

После сборки неожиданно получается странный русско-английский интерфейс: по русски все, кроме главного меню

--citycat 16:52, 5 September 2007 (CEST)

При сборке была допущена ошибка в указании локали: вместо LOCALIZED_LANG=ru было указано что-то типа LOCALIZED_LANG=RU-ru. Выйти из этого положения просто, независимо от того, стерли уже рабочий каталог или нет.

Если рабочий каталог уже стерт, то для нормальной работы достаточно переписать папку share/registry/res/ru откуда-нибудь с русской инсталляции.

Если рабочий каталог еще не стерт, то достаточно удалить файлы-флаги сборки .configure_done и .biuld_done из каталога сборки и запустить сборку с правильным параметром

2.2

Execwine.png Windows

http://tools.openoffice.org/dev_docs/build_windows_tcsh.html

Personal tools