Самостійні збірки: Питання, що часто ставляться
RU UA
Contents
- 1 Загальні питання
- 2 Linux
- 3 FreeBSD
- 3.1 Какие сборки и под какие версии существуют для FreeBSD
- 3.2 Какие системные требования к компьютеру, на котором планируется собирать OpenOffice.org
- 3.3 Можно ли как-то сократить время сборки
- 3.4 Как использовать порты неофициальных сборок
- 3.5 А что, без Java-машины никак не собрать?
- 3.6 Какую версию Java-машины достаточно иметь?
- 3.7 Мне не хочется собирать Java-машину. Можно где-нибудь скачать уже собранную?
- 3.8 Какое дополнительное программное обеспечение необходимо для сборки OpenOffice.org
- 3.9 Как мне сделать так, чтобы при запуске OpenOffice.org выводилась заставка с моим логотипом
- 3.10 Как применять не все патчи от Инфра-Ресурс, а только некоторые
- 3.11 Сборка завершается аварийно, с сообщением о том, что некоторый модуль должен быть пересобран (should be built). Что делать?
- 3.12 При использовании опции --with-openldap или отметке опции "Use OpenLDAP LDAP SDK" сборка завершается аварийно
- 3.13 Сборка завершается аварийно, потому что не может найти библиотеки, несмотря на то, что они точно установлены
- 3.14 После сборки неожиданно получается странный русско-английский интерфейс: по русски все, кроме главного меню
- 4 Windows
Загальні питання
А нащо все це потрібно? Є багато готових збірок.
Звісно, є. їх багато, під різні платформи, мови, практично на будь-який смак. Але завжди знайдеться користувач, який захоче зібрати програму під іншу платформу, або під маловідому мову, або зі специфічними оптимізаціями.
Окрім того, самостійна збірка 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
Linux
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)
Для того, чтобы при запуске выводилась Ваша заставка, а во время вызова "О программе" выводилось окно опять же с логотипом и текстом "Этот продукт был создан..." нужно перед началом сборки проделать следующее:
- Подготовить логотип в виде файла с прозрачным фоном
- Взять файлы ooonologointro.bmp и oooabout.bmp (если используется ванильный порт - в каталоге svx/res/, если порт "Инфра-Ресурс" - в каталоге патчей, в подкаталоге res/infra (oooabout.bmp может называться также openabout.bmp), если Cats Paw - в каталоге citycat_files, подкаталоге res, вставить в них свой логотип
- Редактором, поддерживающим кодировку UTF-8, исправить вторую строку в файле каталог_патчей/sdf/ru/ru-vendor.sdf. Для ванильной сборки необходимо указывать параметр --with-vendor="текст". В таком случае в строке невозможно использовать символ "двойная кавычка" - он интерпретируется шеллом. Экранирование в \" проблему не решает.
- В параметры 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
если файлы редактировались на месте или же указать расположение новых файлов
- Для порта 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
Windows
http://tools.openoffice.org/dev_docs/build_windows_tcsh.html