Development/FAQ/nl
TDF LibreOffice Document Liberation Project Blogs gemeenschap Weblate Nextcloud Redmine Ask LibreOffice Doneren
Hoe debug ik LibreOffice?
Het cruciale deel is om --enable-debug door te geven aan autogen.sh. Zie de details en hulp.
Wat is dat #iXXXX#/fdo#XXXX/enz. commentaar?
- #XXXXXXX# verwijst naar de interne StarDivision StarOffice-bugtracker en zijn niet openbaar beschikbaar, dus kunnen net zo goed uit de bron worden verwijderd
- #bXXXXXX# verwijst naar de interne Bugster bugtracker van Sun en zijn niet publiekelijk beschikbaar, dus kunnen net zo goed uit de bron worden verwijderd
- #oXXXXXX# verwijst naar de interne bugtracker van Oracle en zijn niet openbaar beschikbaar, dus kunnen net zo goed uit de bron worden verwijderd
- cp#XXXXXX verwijst naar de interne bugtracker van Collabora en zijn niet openbaar beschikbaar, dus kunnen net zo goed uit de bron worden verwijderd
- #iXXXXXX# of i#XXXXXX verwijst naar OpenOffice.org IssueZilla/Apache Open Office Bugzilla, bijv. #i100000# is https://issues.apache.org/ooo/show_bug.cgi?id=100000
- rhbz#XXXX verwijst naar RedHat bugids, bijv. rhbz#680460 is https://bugzilla.redhat.com/show_bug.cgi?id=680460
- #nXXXXXX# of n#XXXXXX of liever bnc#XXXXXX verwijst naar Novell bugids, bijv. #n672421# is https://bugzilla.novell.com/show_bug.cgi?id=672421
- fdo#XXXXX verwijst naar Freedesktop.org oude Bugzilla (tegenwoordig vervangen door Gitlab), bijv. fdo#38425 is https://bugs.freedesktop.org/show_bug.cgi?id=32275
- Dit geldt ook voor niet-LO-bugs die relevant zijn voor LO, bijv. fdo#70704 - Poppler: Wachtwoord vereist voor document dat wordt geopend zonder gebruik te maken van Acrobat en oude LibreOffice-bugs (vóór januari 2015)
- tdf#XXXXX verwijst naar The Document Foundation's eigen exemplaar van Bugzilla, bijv. tdf#32275 is https://bugs.documentfoundation.org/show_bug.cgi?id=32275
- LP#XXXXXX verwijst naar launchpad, bijvoorbeeld: https://launchpad.net/bugs/775608
- abi#XXXXXX verwijst naar AbiSource (Abiword) bugtracker, bijvoorbeeld: http://bugzilla.abisource.com/show_bug.cgi?id=123456
- boost#XXXXXX verwijst naar de bugtracker van Boost, bijvoorbeeld: https://svn.boost.org/trac/boost/ticket/123456
- deb#XXXXXX verwijst naar de bugtracker van Debian, bijvoorbeeld: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=123456
- gnome#XXXXXX verwijst naar Gnome's oude Bugzilla (tegenwoordig vervangen door Gitlab), bijvoorbeeld: https://bugzilla.gnome.org/show_bug.cgi?id=123456
- icu#XXXXXX verwijst naar de bugtracker van ICU, bijvoorbeeld: http://bugs.icu-project.org/trac/ticket/123456
- kde#XXXXXX verwijst naar de bugtracker van KDE, bijvoorbeeld: https://bugs.kde.org/show_bug.cgi?id=123456
- moz#XXXXXX verwijst naar de bugtracker van Mozilla, bijvoorbeeld: https://bugzilla.mozilla.org//show_bug.cgi?id=123456
- py#XXXXXX verwijst naar de bugtracker van Python, bijvoorbeeld: https://bugs.python.org/issue123456
- ofz#XXXXXX verwijst naar de interne OFZ bug tracker (Google OSS fuzzer, zie https://github.com/google/oss-fuzz) (bug tracker publiekelijk beschikbaar na een paar dagen/weken op chromium.org)
- cid#XXXXXX of Coverity#XXXXXX verwijst naar de Coverity Bugs.
- cool#XXXXXX verwijst naar de bugtracker van Collabora Online, bijvoorbeeld: https://github.com/CollaboraOnline/online/issues/123456
Wat zijn al die tests: unit tests, smoketests, subsequent tests?
De vraag werd beantwoord door Bjoern Michaelsen in een bericht op de mailinglijst: http://lists.freedesktop.org/archives/libreoffice/2011-March/009834.html
Een "make check" op het hoogste niveau zal eerst een volledige build uitvoeren en vervolgens alle volgende tests uitvoeren, terwijl een "make subsequentcheck" op het hoogste niveau alleen alle volgende tests zal uitvoeren.
Meer informatie over unit tests.
De smoketest is mislukt, hoe kan ik dat debuggen
Als make dev-install, of building smoketestoo_native mislukt, blijft de installatie die de test niet heeft doorstaan, staan
solver/350/*/installation/opt/program/
U kunt deze test handmatig uitvoeren en naar de mooie groen/rode rapportcellen kijken om te zien wat er precies is mislukt.
cd solver/350/*/installation/opt/program/
./swriter
Schakel macrobeveiliging uit, bijvoorbeeld
▸ ▸ ▸ ▸ ▸ en sluit de applicatie./swriter $SRC_ROOT/smoketestdoc/*/bin/smoketestdoc.sxw
Klik op de knop om de test te starten
Een ander alternatief is om soffice
van tevoren te starten en de test te vragen om verbinding te maken met die instantie in plaats van er zelf een te starten (zie installationtest.mk: override van getest soffice-proces toestaan). U kunt de soffice.bin
vervolgens uitvoeren onder controle van de debugger. Het enige probleem is dat make smoketestoo_native
normaal gesproken de soffice
zou overschrijven die net is gestart met een nieuwe installatieset, vanwege de afhankelijkheid van cpptest
in localinstall
in smoketestoo_native/makefile.mk
. Dus zoiets als het volgende zou moeten werken:
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
Ik wil graag LibreOffice builden, maar ik ben alleen geïnteresseerd in Writer. Kan ik Writer gewoon gebruiken zonder de rest?
Nee.
Het lange antwoord is dat de individuele applicatiemodules in LibreOffice (Writer, Calc, Draw, Impress, enz.) veel van hun code gemeen hebben, zodat het bovenste moduledeel slechts uit minder dan 10% van de hele code bestaat. Dus zelfs als u het op de een of andere manier zou lukken om het bouwen van sommige van deze apps over te slaan, zou dit de totale maaktijd niet significant verkorten.
Bovendien is de hele suite ontworpen met de aanname dat alle applicatiemodules te allen tijde aanwezig zijn. Dus als sommige apps er niet zijn, kan dit een aantal rare vervelende problemen veroorzaken waarmee niemand anders u kan helpen.
Op Windows mislukte de build met een interne fout in de compiler
fatal error c1001: An internal error has occured in the compiler
U moet controleren of u de meest recente update voor Visual Studio heeft.
Controleer of er een update is op Microsoft search.