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構建。
回目錄 |
|