Development/FAQ/it

Come fare il debug di LibreOffice?
Il punto cruciale è quello di passare il parametro --enable-debug allo script autogen.sh. Per maggiori dettagli ed avere aiuto al riguardo vedete Development/How to debug.

Che cosa sono tutti quei commenti #iXXXX#/fdo#XXXX/ecc.?

 * #XXXXXXX# si riferiscono al bugtracker interno di StarDivision e non sono pubblicamente disponibili, perciò possono essere eliminati dal codice sorgente;
 * b#XXXXXX# si riferiscono al bugtracker interno di Sun e non sono pubblicamente disponibili, perciò possono essere eliminati dal codice sorgente;
 * cp#XXXXXX si riferiscono al bugtracker interno di Collabora e non sono pubblicamente disponibili, perciò possono essere eliminati dal codice sorgente;
 * #iXXXXXX# or i#XXXXXX si riferiscono ai codici di identificazione dei bug usati da OpenOffice.org/Apache Open Office, ad es. #i100000# corrisponde a https://issues.apache.org/ooo/show_bug.cgi?id=100000;
 * rhbz#XXXX si riferiscono ai codici di identificazione dei bug usati da RedHat, ad es. corrisponde a https://bugzilla.redhat.com/show_bug.cgi?id=680460;
 * #nXXXXXX# o n#XXXXXX o preferibilmente bnc#XXXXXX si riferiscono ai codici di identificazione dei bug usati da Novell, ad es. #n672421# corrisponde a https://bugzilla.novell.com/show_bug.cgi?id=672421;
 * fdo#XXXXX si riferiscono ai codici di identificazione dei bug usati da Freedesktop.org, ad es. corrisponde a https://bugs.freedesktop.org/show_bug.cgi?id=32275;
 * questi comprendono dei bug non di LibreOffice, ma che sono comunque rilevanti, ad es. e vecchi bug di LibreOffice (precedenti a gennaio 2015);
 * tdf#XXXXX si riferiscono all'istanza di Bugzilla appartenente alla The Document Foundation, ad es. corrisponde a https://bugs.documentfoundation.org/show_bug.cgi?id=32275;
 * lp#XXXXXX si riferiscono a launchpad, per esempio: https://launchpad.net/bugs/775608;
 * abi#XXXXXX si riferiscono al bugtracker AbiSource (Abiword), per esempio: http://bugzilla.abisource.com/show_bug.cgi?id=123456;
 * boost#XXXXXX si riferiscono al bugtracker Boost, per esempio: https://svn.boost.org/trac/boost/ticket/123456;
 * deb#XXXXXX si riferiscono al bugtracker di Debian, per esempio: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=123456;
 * gnome#XXXXXX si riferiscono al bugtracker di Gnome, per esempio: https://bugzilla.gnome.org/show_bug.cgi?id=123456
 * icu#XXXXXX si riferiscono al bugtracker di ICU, per esempio: http://bugs.icu-project.org/trac/ticket/123456;
 * kde#XXXXXX si riferiscono al bugtracker di KDE, per esempio: https://bugs.kde.org/show_bug.cgi?id=123456;
 * moz#XXXXXX si riferiscono al bugtracker di Mozilla, per esempio: https://bugzilla.mozilla.org//show_bug.cgi?id=123456;
 * py#XXXXXX si riferiscono al bugtracker di Python, per esempio: https://bugs.python.org/issue123456;
 * ofz#XXXXXX si riferiscono al bugtracker interno di OFZ (Google OSS fuzzer, vedete https://github.com/google/oss-fuzz) (le segnalazioni del bug tracker sono disponibili pubblicamente dopo qualche giorno/settimana all'indirizzo: chromium.org);
 * cid#XXXXXX o coverity#XXXXXX si riferiscono a Coverity Bugs.

Cosa sono tutti quei test: unit test, smoketest, subsequent test?
La risposta a questa domanda è stata fornita da Bjoern Michaelsen in un post sulla mailinglist: http://lists.freedesktop.org/archives/libreoffice/2011-March/009834.html

Un "make check" a livello principale eseguirà per prima cosa una compilazione completa e poi eseguirà tutti i subsequent test, invece un "make subsequentcheck" a livello principale eseguirà solamente tutti i subsequent test.

Maggiori informazioni sugli unit test sono reperibili qui e sui subsequent test: qui.

Lo smoketest è fallito, come eseguirne il debug
Se make dev-install, oppure la compilazione di smoketestoo_native fallisce, i file dell'istallazione che ha fallito lo smoketest rimangono nella cartella Potete eseguire manualmente lo smoketest e controllare le celle evidenziate in verde/rosso nel report in modo da capire esattamente che cosa ha causato il fallimento. disabilitate la sicurezza delle macro, es. e chiudete libreoffice Fate clic sul pulsante start smoketest

Un'altra alternativa è quella di avviare  in anticipo e chiedere allo  smoketest di collegarsi a quell'istanza, anziché avviarne una sua (vedete ). Poi potete eseguire  sotto il controllo del debugger. L'unico problema è che  normalmente sovrascrive l'istanza di   appena avviata con un nuovo set di installazione, ciò a causa della dipendenza di    da   in. Quindi, qualcosa di simile a quanto segue, dovrebbe funzionare:

Volendo compilare LibreOffice, ma essendo interessati solo a Writer, è possibile compilare solamente quest'ultimo senza tutto il resto?
La risposta sintetica è: no.

La risposta più dettagliata è che i moduli delle singole applicazioni di LibreOffice (Writer, Calc, Draw, Impress, ecc.) condividono la maggior parte del loro codice, al punto che la parte del modulo del livello principale corrisponde solamente a meno del 10% dell'intero codice. Perciò, anche se in qualche modo riusciste a saltare la compilazione di qualcuna delle applicazioni, il tempo complessivo per la compilazione non si ridurrebbe in modo significativo.

Oltre a questo, l'intera suite è progettata con il presupposto che siano sempre presenti i moduli di tutte le applicazioni. Quindi, se mancasse qualcuna di queste applicazioni, potrebbero creasi degli strani problemi, con i quali nessun altro potrebbe aiutarvi.

Su Windows, la compilazione fallisce con un errore interno del compilatore
fatal error c1001: An internal error has occured in the compiler Dovete verificare di avere l'ultimo aggiornamento di Visual Studio.

Controllate gli aggiornamenti su Microsoft search.