Die freie und offene Büro-Software
Apache OpenOffice 4.0.1 ist verfügbar!

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
  • Linux (RedHat 6.2)
  • Solaris (Sparc 2.6)
  • WindowsNT
Eine Portierung auf Mac OS X ist in Entwicklung und jeder Fortschritt ist über CVS verfügbar.
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
csh
source LinuxIntelEnv.Set
dmake
dmake install

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.
  • Der Quellcode umfasst ~328MB
  • Das Kompilat benötigt 2GB
  • Die Fertigstellung eines Installationssets benötigt etwa 300MB.

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 :

  1. Der Entwickler lädt sich das benötigte Milestone solver Tarball für die jeweilige Plattform herunter.
  2. Das CVS wird nach Änderungen des jeweiligen Projektes und des aktuellen Milestone gechecked
  3. Änderung des Codes
  4. Kompilierung. (Dies baut gegen den Inhalt des Solver und liefert - so alles erfolgreich verläuft - die Resultate an den Solver)
  5. Test der neuen Version
  6. Änderung ins Projekt einfließen lassen

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.
Zwischen (inkompatiblen) Milestones ist es üblich, dass Änderungen der API in low level Modulen eingeführt werden und nicht alle Endnutzermodule auch sofort geändert werden. Daher wird das Bauen mit der neuesten Revision nicht immer möglich sein.

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:
  • Bristol XPrinter - drucken auf UNIX Plattformen
  • L&H International CorrectSpell, Intl. Electronic Thesaurus - Rechtschreibprüfung, internationale Wörterbücher & Thesaurus
  • Inso Word for Word - Dokumentenfilter für Dokumente mit anderem Format als MS Office
  • Adabas D - Datenbank

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:

  • CVS 1.10
  • FTP
  • tar
  • glibc 2.1x or higher
  • gcc 2.95.2
  • JDK 1.1.8
  • Perl 5
  • csh

Apache Software Foundation

Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.