OpenOffice.org 开发构建常见问题
原文:http://www.openoffice.org/FAQs/build_faq.html
翻译:Jacky Woo 校对:Chen Lishuang, Sun Jing, Cheng Lin Aug, 2007
解答
一、 |
- 什么样的源代码可以在 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构建。
回目录
|
|