Sviluppo/Domande Frequenti

    From The Document Foundation Wiki
    This page is a translated version of the page Development/FAQ and the translation is 100% complete.


    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.?

    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

    solver/350/*/installation/opt/program/

    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.

    cd solver/350/*/installation/opt/program/
     ./swriter

    disabilitate la sicurezza delle macro, es. strumenti ▸ opzioni ▸ sicurezza ▸ sicurezza delle macro ▸ basso e chiudete libreoffice

    ./swriter $SRC_ROOT/smoketestdoc/*/bin/smoketestdoc.sxw

    Fate clic sul pulsante start smoketest

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

    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

    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.