OpenOffice.org 开发构建常见问题

原文:http://www.openoffice.org/FAQs/build_faq.html

翻译:Jacky Woo 校对:Chen Lishuang, Sun Jing, Cheng Lin     Aug, 2007

一、 什么样的源代码可以在www.openoffice.org获得?
二、 OpenOffice是基于什么操作平台而设计的?
三、OpenOffice.org是如何构建的?
四、完全构建openoffice (包括源代码)需要多少硬盘空间?
五、构建OpenOffice.org需要多长时间?
六、在 StarOffice 下,软件开发员是怎样工作的?
七、你们有多少工作项目?
八、大约有多少源代码?
九、发布中所未包含的(以及为何)?
十、有人能解释分支工作空间Child Workspaces是什么吗?
十一、我可以从哪里获得帮助?
十二、还有什么其它的我们需要了解?
十三、有没有什么已知的软件错误?



解答

一、
什么样的源代码可以在 www.openoffice.org 获得?
OpenOffice.org 的源代码和用于开发StarOffice的源代码几乎完全一样。那些在 OpenOffice.org 中未能公开的源代码或者程序插件,全部是 Sun Mircosystems 从第三方取得,并且无权进行公开发布的。Openoffice.org 中的任何无权发布的代码,已经被确认并删除。另外,为了保证 OpenOffice.org 的顺利构建,外部引进代码的构建方法将可获得,否则其代码将被清除。OpenOffice.org 可从这个领域工作中受益。

StarOffice/OpenOffice 的开发人员将继续提交代码修改到CVS上,该CVS与www.OpenOffice.org 所能访问的相同。

回目录

二、
OpenOffice 是基于什么操作平台而设计的?
OpenOffice.org 已经可以在 Linux(RedHat 8), Solaris(Sparec 2.6-2.9) 和 Windows NT 上成功构建。

为Mac OS X系统的移植工作正在进行,当前进行的工作可以在CVS目录下获得。

对于以前支持的OS/2, HP/UX 和其他的操作平台,源代码可以获得,但是还未被构建(译者注:该FAQ写于03年,现在这些工作应都已完成)

回目录

三、
OpenOffice.org是如何构建的?
Sun Microsystems已经对构建环境进行了调整,目的是在其他开发团队所自行定制和优化的环境中得以构建OpenOffice.org。Openoffice.org尽可能使用开源构建工具,仍有可能使用更多。源代码对所有构建工具均可获得。

虽然已经做了很多工作使OpenOffice.org的构建经验尽可能地接近开源标准,但是鉴于应用程序的复杂性和规模,这些构建经验还是与开源标准有所不同。更多详细资料请参阅:

http://tools.openoffice.org#Build

回目录

四、
完全构建openoffice (包括源代码)需要多少硬盘空间?
目前的推荐大小是3GB。
源代码的大小是400MB左右
构建需要大约3GB(包括源代码)
安装需要300MB左右
为构建增加debug符号信息还需要占用大约5G。

软件开发人员通常因为这个原因,仅在特定的目录中使用“build debug=true”来进行完全debug构建。

回目录

五、
构建OpenOffice.org需要多长时间?
依据我们目前的经验,如果完全构建OpenOffice.org大约需要20个小时(一个奔腾III CPU,内存256MB,操作系统Linux)

使用CC="ccache gcc" CXX="ccache g++" 在一台奔腾1.8Ghz的电脑上完成一次构建大约需要4个小时。

回目录

六、
在 StarOffice 下,软件开发员是怎样工作的?
每周Sun的发布工程师都会在一个优化的环境下,进行一次Staroffice的完全构建。在成功进行完全构建后,最新的solver目录(译者注:solver是编译构建OpenOffice源代码中产生的一个目录名,不需翻译,开发者都明白)会对所有开发人员公开。开发人员会在当前的solver构建自己的CVS模块。在代码修改后,开发人员构建CVS模块并且“提交”("deliver")一份共享头文件、共享库与二进制文件的拷贝到当前solver目录中,以供测试。

在不同版本的完全创建中,不可兼容的代码改变是允许的。为了不兼容的工作不混在一起,每个共享库/DLL的名字包括构建号,该构建号每周增加一。

为了支持OpenOffice.org的社区,Sun计划提供一个相似的环境。原因是代码库过于庞大,而现在的开发人员就在使用它。Sun打算在www.openoffice.org上,为每一个操作平台提供一个solver的tarball。这些被人们称为“里程碑”(milestone)。

因此,建议的开发过程为:
1. 开发人员下载对应操作平台的里程碑 solver tarball
2. 通过CVS检出针对同样里程碑(milestone)的相关项目。
3. 修改代码
4. 构建(这将基于 solver 内容构建,如果成功,则提交结果到solver)
5. 测试新版本
6. 提交补丁 patch

OpenOffice.org 拥有一个巨大的代码库。开发团队之间将 CVS 作为一个同步系统机制使用。在底层 CVS 模块中的 API 修改会被检入,以便更高层的模块反应这些变化。在不兼容的里程碑(milestone)中构建,通常会出现这样的情况:API 已经在底层修改,可是并不是所有的使用这些 API 的模块都已经被相应修改。因此,使用 head revision 的构建不一定总是成功的。

一个新的方法正在被引进中。在短期内,head可以成为一个可构建的主干工作空间(master workspace)。

回目录

七、
你们有多少工作项目?
将会为OpenOffice.org创建大约20个项目。这些项目是促进社区沟通与交流的一种尝试,比如说包括XML Office,Porting,Localization,Applications 和 Build Tools在内的项目。

回目录

八、
大约有多少源代码?
OpenOffice.org大约有30,000个代码文件。

OpenOffice.org有大约9,000,000行代码。绝大多数代码是C++。

回目录

九、
发布中所未包含的(以及为何)?
一些StarOffice从第三方获得授权的外部组件的源代码不能从OpenOffice.org 源代码中获取 。这些组件包括:

* L&H International CorrectSpell, Intl. Electronic Thesaurus – 拼写检查,国际字典&辞典
* Inso Word for Word - 除MS Office 外的用于文件格式的文档过滤
* Adabas D – 数据库引擎

下载无法在 www.OpenOffice.org 上发布的外部源代码时会有一些指示。

GPC代码是一个特例,必须单独地由 OOo 开发人员获得。请参阅构建指南。

回目录

十、
有人能解释分支工作空间Child Workspaces是什么吗?
Child workspaces,即分支工作空间,它的主要内容是:

* 只有完全经过测试的代码才会进入主要CVS的分支
* 所有的里程碑的快照(snapshot)都接近最终产品质量
* 更快的为开发主干作出贡献(因为校对和测试可以在cvs目录上直接进行)

更多信息在http://tools.openoffice.org上可以查询到。

回目录

十一、
我可以从哪里获得帮助?
首先,您可以浏览dev@openoffice.org的邮件列表文档来查询、解决类似的问题。

其次,您还可以在dev@openoffice.org上发布一封邮件来说明您的问题。如果您有一个更加专业的问题,那么你将会被引导到另外一个针对你的问题的邮件列表(mail list),比如dev@sw.openoffice.org可以用来查询您的文字处理问题。

对于一个简单的问题或者闲聊,您可以通过IRC和别的开发人员聊天。IRC不仅仅是提供给开发人员,然而很多专业问题都能在IRC的讨论中给予好的建议。

服务器:irc.freenode.net
频道: #openoffice.org

简单介绍如何使用IRC:

首先,为您自己找一个IRC 客户端软件:
windows用户,您可以使用mIRC - http://www.mirc.com
Unix、linux用户,有很多软件可以使用,然而我们推荐kvirc - http://www.kvirc.net

如果您的客户端已经设定完成了,您可以在命令栏中输入:/SERVER irc.openprojects.net

在您登录之后可以输入: /JOIN #OpenOffice.org

回目录

十二、
还有什么其它的我们需要了解?
大多数评论都是德文的,一部分是英文的。未来,所有的新的评论都是英文的。

要下载和构建 OpenOffice.org 还需要大量的先决条件,请查阅http://tools.openoffice.org#Build来查看完整清单。

回目录

十三、
有没有什么已知的软件错误?
我们有一些构建问题:

* Bison 1.875 - 该版本在发布时有问题,请尝试升级版本为bison 1.875a 。
* Xwindows 4.3 – 我知道有人遇到过这个问题,但不清楚是怎么解决的。让我们了解一下!
* 未定义的符号:_Z16XineramaIsActiveP9_XDisplay

这是一个头文件问题,在'#include '旁边添加'extern "C" { }' , 然后通过libvcl644li.so构建。

回目录

 

 

OpenOffice.org
英文总站首页
繁体中文版首页
简体中文版首页
关于我们
关于 OpenOffice.org
关于中文计划
产品
简介
重要功能
下载
功能强化套件
光碟
商品化版本
支援
说明文件
通信论坛
常见问题
参与计划
参与开发
参与中文计划
中文计划工作一览表
报告错误(英)(中)
其他
中文计划成员
授权声明
联络我们
联络 OpenOffice.org
联络中文计划