Entwicklung/FAQ
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
LibreOffice debuggen
Der ausschlaggebende Schalter ist --enable-debug für autogen.sh. Siehe Development/How to debug/de für Einzelheiten und Hilfe.
Was sagen diese #iXXXX#/fdo#XXXX/etc. Kommentare?
- #XXXXXXX# bezieht sich auf interne StarOffice bugtracker und sind sowieso nicht öffentlich. Sie können also genausogut aus dem Quelltext entfernt werden.
- #bXXXXXX# bezieht sich auf Sun interne Bugster bugtracker und sind auch nicht öffentlich. Sie können also genausogut aus dem Quelltext entfernt werden.
- #oXXXXXX# bezieht sich auf Oracle interne bugtracker und sind auch nicht öffentlich. Sie können also genausogut aus dem Quelltext entfernt werden.
- cp#XXXXXX bezieht sich auf Collabora interne bugtracker und sind auch nicht öffentlich. Sie können also genausogut aus dem Quelltext entfernt werden.
- #iXXXXXX# or i#XXXXXX bezieht sich auf OpenOffice.org IssueZilla/Apache Open Office Bugzilla, z. Bsp. ist #i100000# dervhttps://issues.apache.org/ooo/show_bug.cgi?id=100000.
- rhbz#XXXX bezieht sich auf RedHat bugids, z. Bsp. ist rhbz#680460 is https://bugzilla.redhat.com/show_bug.cgi?id=680460
- #nXXXXXX# oder n#XXXXXX oder bevorzugt bnc#XXXXXX bezieht sich auf Novell bugids, z. Bsp. ist #n672421# is https://bugzilla.novell.com/show_bug.cgi?id=672421
- fdo#XXXXX bezieht sich auf dedn alten Freedesktop.org Bugzilla (nowadays replaced by Gitlab), z. Bsp. ist fdo#38425 https://bugs.freedesktop.org/show_bug.cgi?id=32275
- Das betrifft auch nicht-LibreOffice Fehler, die trotzdem relevant für LibreOffice sind. Z. Bsp. fdo#70704 - Poppler: Password erforderlich für ein Dokument, das sich ohne Acrobat Reader öffnet und alte LibreOffice Fehler vor Januar 2015.
- tdf#XXXXX bezieht sich auf The Document Foundations eigene Instanz von Bugzilla, z. Bsp. ist tdf#32275 https://bugs.documentfoundation.org/show_bug.cgi?id=32275
- lp#XXXXXX bezieht sich auf die Startplattform (launchpad), z. Bsp.: https://launchpad.net/bugs/775608
- abi#XXXXXX bezieht sich auf den AbiSource (Abiword) bugtracker, z. Bsp.: http://bugzilla.abisource.com/show_bug.cgi?id=123456
- boost#XXXXXX bezieht sich auf Boost's bugtracker, z. Bsp.: https://svn.boost.org/trac/boost/ticket/123456
- deb#XXXXXX bezieht sich auf Debian's bugtracker, z. Bsp.: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=123456
- gnome#XXXXXX bezieht sich auf Gnome's alten Bugzilla (heutzutage durch Gitlab ersetzt), z. Bsp.: https://bugzilla.gnome.org/show_bug.cgi?id=123456
- icu#XXXXXX bezieht sich auf ICU's bugtracker, z. Bsp.: http://bugs.icu-project.org/trac/ticket/123456
- kde#XXXXXX bezieht sich auf KDE's bugtracker, z. Bsp.: https://bugs.kde.org/show_bug.cgi?id=123456
- moz#XXXXXX bezieht sich auf Mozilla's bugtracker, z. Bsp.: https://bugzilla.mozilla.org//show_bug.cgi?id=123456
- py#XXXXXX bezieht sich auf Python's bugtracker, z. Bsp.: https://bugs.python.org/issue123456
- ofz#XXXXXX bezieht sich auf den OFZ internen bug tracker (Google OSS fuzzer, siehe https://github.com/google/oss-fuzz) (bug tracker nach ein paar Tagen/Wochen öffentlich zugänglich unter chromium.org)
- cid#XXXXXX oder coverity#XXXXXX bezieht sich auf die Coverity Bugs.
- cool#XXXXXX bezieht sich auf Collabora Online's bugtracker, z. Bsp.: https://github.com/CollaboraOnline/online/issues/123456
Was sollen all diese Tests: Unit Tests - Belastungstests - Folgetests?
Diese Frage wurde von Björn Michaelsen in einem Post der Mailinglist beantwortet: http://lists.freedesktop.org/archives/libreoffice/2011-March/009834.html
Ein top-level "make check" wird zunächst einen kompletten build erstellen, dann alle Folgetests machen. Ein top-level "Folgecheck" wird stattdessen lediglich die Folgetests machen.
Weitere Informationen zu den Unit Tests siehe hier.
Der Belastungstest bricht ab, wie kann ich debuggen
Wenn make dev-install oder der Bau des smoketestoo_native abbricht, dann verbleibt die Installation, die abgebrochen wurde, in
solver/350/*/installation/opt/program/
Der Belastungstest kann manuell gestartet werden. An den schönen grünen und roten Zellen kann abgelesen werden, was exakt schief lief.
cd solver/350/*/installation/opt/program/
./swriter
Der Sicherungsmechanismus für Makros muss abgeschaltet werden, z. Bsp. über
▸ ▸ ▸ ▸./swriter $SRC_ROOT/smoketestdoc/*/bin/smoketestdoc.sxw
Ein Klick auf den Button startet den Belastungstest.
Eine andere Alternative wäre, zunächst soffice
zu starten und den Belastungstest anzuweisen, sich mit einer Instanz von LibreOffice zu verbinden anstatt die Installation selbst zu starten (siehe installationtest.mk: erlaube den getesteten soffice process zu überschreiben). soffice.bin
kann auch über den Debugger gestartet werden. Das einzige Problem dabei ist, dass make smoketestoo_native
normalerweise soffice
abhängig von cpptest
in der localinstall
in smoketestoo_native/makefile.mk
überschreibt. Daher sollte so ungefähr das folgende funktionieren:
make smoketestoo_native # in case no solver/*/installation yet
sed -i 's/cpptest : localinstall/#&/' smoketestoo_native/makefile.mk
solver/*/installation/opt/program/soffice --accept=pipe,name=mytest\;urp &
# wait for soffice to come up, attach gdb, etc.
OOO_TEST_SOFFICE=connect:pipe,name=mytest make smoketestoo_native
git checkout smoketestoo_native/makefile.mk
Ich würde gerne LibreOffice compilieren, interessiere mich aber nur für den Writer. Kann ich nur den Writer ohne den Rest übersetzen?
Die kurze Antwort ist: Nein.
Die lange Antwort ist, dass die einzelnen Applikationsmodule in LibreOffice (Writer, Calc, Draw, Impress, etc) viel von ihrem Code teilen, so dass der Anteil der individuellen Module lediglich 10 % des gesamten Codes ausmachen. Wenn Sie es also schaffen, einzelne dieser Apps beim Compilieren zu überspringen, verringert das die gesamte Compilierungszeit nicht entscheidend.
Ausserdem ist die ganze Anwendung darauf ausgelegt, dass immer alle Teile vorhanden sind. Wenn also einzelne Apps nicht vorhanden sind, dann entsteht damit eventuell eine verworrene Anwendung, bei der niemand wirklich weiterhelfen kann.
Unter Windows bricht der Compiler mit einem internen Fehler ab
fatal error c1001: An internal error has occured in the compiler
Das aktuellste Update des Visual Studio ist eingespielt.
Die Updates können auf der Microsoft Suche eingesehen werden.