Kompilier-FAQ für OpenOffice.org
Diese FAQs werden zur Zeit überarbeitet. Den aktuellen Stand können Sie im Projekt-Wiki einsehen.
Sollten Sie hier nicht fündig geworden sein, so suchen Sie bitte im Dokumentationsportal und/oder im OOo-Wiki nach einer Lösung. |
Zuletzt bearbeitet am 18. Dezember 2001
FAQ
Welcher
Quellcode ist auf www.OpenOffice.org verfügbar?
Der Quellcode für OpenOffice.org beinhaltet fast den
kompletten Code des kommenden StarOffice 6.0. Die Teile, die nicht
in OpenOffice.org enthalten sind, wurden von Sun Microsystems durch
Dritte lizensiert und unterliegen den Urheberrechten der jeweiligen
Firmen. Jeder Code, der nicht frei zugänglich ist, wurde
entfernt. Damit OpenOffice.org kompiliert werden kann, werden
Anweisungen zur Verfügung stehen, woher man externen Code
beziehen kann oder der Code wird als leere, funktionslose
Implementierung (stub) vorhanden sein. OpenOffice.org könnte
von Entwicklungen in diesem Bereich profitieren.
Die Entwickler von StarOffice 6.0 lassen alle Änderungen am Code in den CVS Baum auf www.OpenOffice.org einfließen. |
Für
welche Plattformen wurde OpenOffice.org entwickelt?
Es gibt OpenOffice.org für
Es gibt auch für OS/2, HP/UX und andere Plattformen Versionen im Quellcode, der allerdings noch nicht kompiliert wurde. |
Wie
kompiliere ich OpenOffice.org?
Sun Microsystems hat die notwendige Kompilierumgebung so
verändert, daß OpenOffice.org auch mit nicht so
optimaler Ausstattung kompiliert werden kann. Wo möglich nutzt
OpenOffice.org Open Source Tools aber es kann Bereiche geben, wo
diese nicht ausreichen. Alle besprochenen Kompilier-Tools
können mit dem Quellcode umgehen.
Auch wenn alles unternommen wurde, um den Kompiliervorgang so eng wie möglich mit der Open Source Norm zu vereinbaren, so unterscheidet sich der Kompiliervorgang allein aufgrund der Größe und Komplexität dieses Projektes doch von der allgemeinen Open Source Norm. Vorgehensweise bei OpenOffice.org für Linux. ./configure
Das Konfigurations-Script, testet, ob die notwendigen Bedingungen erfüllt sind und erstellt eine Datei, die die Environment Variablen setzt. Configure nutzt nicht autoconf um die makefiles zu erstellen. Diese werden durch ein spezielles Kompilier-Tool, welches die verschiedenen Modul-Abhängigkeiten kennt und innerhalb des CVS-Baums testet, erstellt. Ein makefile arbeitet unter allen Betriebssystemen, für die OpenOffice.org kompiliert wird. Es stehen fertige Binaries der Kompilier-Tools für Linux, Solaris, Mac OS X und WindowsNT zur Verfügung. Wo dies nicht der Fall ist, können diese mittels eines bootstrap erstellt werden. Das dmake-Tool tool ist ein make Utility ähnlich GNU make. Zwar hat dieses Utility eine irreguläre Syntax, ist aber für Linux, Solaris, und WindowsNT verfügbar. Die bei OpenOffice.org verwendete Version von dmake ist eine modifizierte Version des originalen Freeware dmake und kann von http://www.wticorp.com bezogen werden. Nachdem jedes CVS Modul kompiliert wurde, werden die gemeinsamen Header, Bibliotheken und Binaries in ein Verzeichnis namens solver verlagert, dass sich innerhalb von OpenOffice.org befindet. Später hinzukommende CVS Module werden dort jedoch nicht abgelegt. |
Wieviel
Platz benötigt eine komplette Kompilierung inklusive Quellcode
auf meiner Festplatte?
Im Moment etwa 3GB.
|
Wie lange
dauert die Kompilierung von OpenOffice.org?
Nach unseren bisherigen Erfahrungen brauchts etwa 20 Stunden,
um OpenOffice.org auf einem Pentium III mit 256MB RAM unter Linux
komplett zu kompilieren.
Kürzlich wurde behauptet, mit einem 800er Duron, 256 MB RAM sowie einer optimalen SCSI-Platte sei ein Kompilat durchaus in 10 Stunden zu schaffen. |
Wie
arbeiten die Entwickler bei StarOffice?
Die Entwickler bei Sun stellen - bei natürlich optimaler
Ausstattung - einmal die Woche ein komplettes Kompilat zusammen.
Wenn alles gut läuft, wird diese aktuelle Version allen
Entwicklern zur Verfügung gestellt. Die Entwickler bauen
ihr(e) CVS Modul(e) gegen die jeweils aktuelle Version. Wenn der
Code sich geändert hat, bauen die Entwickler die CVS Modul(e)
und linken ("deliver") die gemeinsamen Header, Bibliotheken und
Binaries zu Testzwecken mit ihrer Kopie der aktuellen Version.
Inkompatible Änderungen sind innerhalb unterschiedlicher Voll-Kompilate gestattet. Damit Inkompatibilitäten nicht gemischt werden, enthält der Name jeder Bibliothek/DLL die Build-Nummer. Diese wird jede Woche um 1 erhöht. Um die OpenOffice.org Community zu unterstützen, plant Sun eine ähnliche Umgebung und Vorgehensweise, weil der Code mittlerweile so groß geworden ist und die Entwickler dort ihn nutzen. Auf www.OpenOffice.org wird von jeder Version ein Tarball bereitstehen. Diese sind auch als Milestones bekannt. Die Weiterentwicklung des Codes läuft also so ab :
OpenOffice.org besteht aus sehr viel Code. CVS stellt einen
Synchronisationsmechanismus zwischen den verschiedenen
Entwicklerteams dar. Veränderungen der API innerhalb von low
level CVS Modulen werden getestet, um höherwertige Module
darauf abzustimmen. |
Wieviele
Projekte gibt es?
Um OpenOffice.org herum existieren etwa 20 Projekte. Diese Projekte sind der Versuch, die Kommunikation der Community zu erleichtern. Beispiele sind etwa XML Office, Portierung, Schaffung von unterschiedlichen Sprachversionen, Applikationen und Kompilier-Werkzeugen. |
Wie
groß ist der Quellcode?
Der OpenOffice.org Quellcode besteht aus etwa 20.000
Quelldateien.
OpenOffice.org besteht aus etwa 7.600.000 Zeilen Code. Hauptsächlich geschrieben in C++. |
Was fehlt
(und warum)?
Der Quellcode mancher externer und durch StarOffice
lizensierter StarOffice Komponenten ist nicht im OpenOffice.org
Quellcode enthalten. Dazu gehören etwa:
Es wird eine Anleitung geben, wo externer Code herunter geladen werden kann, der jedoch nicht auf www.OpenOffice.org vertrieben werden kann. |
Worauf
sollte ich mich sonst noch einstellen?
Die meisten Kommentare sind in Deutsch, manche in Englisch. In
Zukunft sollen die Kommentare in Englisch sein.
Es müssen einige Vorkehrungen getroffen werden und einige Programme müssen vorhanden sein, um OpenOffice.org kompilieren zu können. Unter Linux etwa wird folgendes benötigt:
|