Development/FAQ

    From The Document Foundation Wiki


    How do I debug LibreOffice?

    The crucial bit is to pass --enable-debug to autogen.sh. See Development/How to debug for details and help.

    What are those #iXXXX#/fdo#XXXX/etc. comments?

    What are all those tests: unit tests, smoketests, subsequent tests?

    The question was answered by Bjoern Michaelsen in a posting to the mailinglist: http://lists.freedesktop.org/archives/libreoffice/2011-March/009834.html

    A top-level "make check" will first do a full build, then run all the subsequent tests, while a top-level "make subsequentcheck" will only run all the subsequent tests.

    More information on unit tests is to be found here and on subsequent tests: here.

    The smoketest failed, how do I debug that

    If make dev-install, or building smoketestoo_native fails, then the install that failed the smoketest remains in

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

    You can run the smoketest manually and look at the pretty green/red report cells to see what exactly failed.

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

    turn off macro security, e.g. tools ▸ options ▸ security ▸ macro security ▸ low and close office

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

    click the start smoketest button

    Another alternative is to start soffice ahead of time and ask the smoketest to connect to that instance instead of starting one itself (see installationtest.mk: allow override of tested soffice process). You can then run the soffice.bin under debugger control. The only problem is that make smoketestoo_native would normally overwrite the soffice just started with a new installation set, due to the dependency of cpptest on localinstall in smoketestoo_native/makefile.mk. So, something like the following should work:

    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

    I'd like to build LibreOffice, but I'm only interested in Writer. Can I just build Writer without the rest?

    The short answer is no.

    The long answer is that, the individual application modules in LibreOffice (Writer, Calc, Draw, Impress, etc) have much of their code shared so that the topmost module part consists only of less than 10% of the whole code. So, even if you managed to somehow skip building of some of these apps, it wouldn't significantly reduce the overall build time.

    On top of that, the whole suite is designed with the assumption that all application modules are present at all times. So, if some of the apps are not there, it may create some weird nasty issues that nobody else could help you with.

    On Windows, the build failed with an internal error in the compiler

    fatal error c1001: An internal error has occured in the compiler
    

    You have to check if you have the latest update for Visual Studio.

    Check the update on Microsoft search.