Skip to content

zentrocdot/LibreOffice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

README

Note

The subsequently described installation procedure was tested from Linux Mint 20.3 (Una) up to Linux Mint 21.3 (Virginia). The result was in all cases a running version of LibreOffice with help and language support. LibreOffice in version 24.8.0.0.alpha0+ (X86_64) as LibreOffice Community Release Version will be installed. The installation procedure works as expected. I am running the LibreOffice developer version together with is shipped version from the Linux Mint installation [1].

Motivation

By default, I have maintained and updated my operating system. The update also included an overdue system upgrade. Linux Mint LTS in the Cinnamon Edition is installed. An upgrade was performed from version 20.03 codename Una (Ubuntu Focal) to version 21 codename Vanessa (Ubuntu Jammy). After the upgrade, I could no longer get LibreOffice to work in the usual ways. So I decided to build LibreOffice from source on my own on the computer. The result of my installation efforts can be found here.

Introductary Words

The whole installation procedure takes a while. On my last system with an AMD processor with six cores it took round about 4 hours for the installation as described. It should be noted that the available download data transfer speed influences the duration of the installation. Download and compilation needs the most time.

Caution

You are using the following description at your own risk. The described procedure has been tested several times and has led to the desired result for me. Of course, I cannot guarantee that this will work for you.

Version Management

The instruction is creating the developer version 24.8.0.0. Former versions are:

  • New available version 24.2.0
  • Second last version 7.6.5
  • Linux Mint shipped version 7.3.7.2

General procedure

The best way from the source code to the executable LibreOffice version seems to be realized in three steps.

  1. Build LibreOffice from source code without special options

  2. Add the language support for all known languages

  3. Create the translated user defined UI's and the translated help files

I demonstrate this procedure by adding language support for my favorite languages German, Italian and French next to English. Other languages can be added in the same way by other users.

Starting point

The starting point for the installation is [3]. Reference [2] is given for the sake of completeness. The procedure is valid for LibreOffice on Linux and BSD systems.

Prerequisites

The required dependencies for Debian like and Ubuntu like systems are:

git build-essential zip ccache junit4 libkrb5-dev nasm graphviz python3 python3-dev qtbase5-dev
libkf5coreaddons-dev libkf5i18n-dev libkf5config-dev libkf5windowsystem-dev libkf5kio-dev
libqt5x11extras5-dev autoconf libcups2-dev libfontconfig1-dev gperf openjdk-17-jdk doxygen
libxslt1-dev xsltproc libxml2-utils libxrandr-dev libx11-dev bison flex libgtk-3-dev
libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ant ant-optional libnss3-dev
libavahi-client-dev libxt-dev

Install them on your system using sudo:

sudo apt-get install git build-essential zip ccache junit4 libkrb5-dev nasm graphviz python3 python3-dev qtbase5-dev libkf5coreaddons-dev libkf5i18n-dev libkf5config-dev libkf5windowsystem-dev libkf5kio-dev libqt5x11extras5-dev autoconf libcups2-dev libfontconfig1-dev gperf openjdk-17-jdk doxygen libxslt1-dev xsltproc libxml2-utils libxrandr-dev libx11-dev bison flex libgtk-3-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ant ant-optional libnss3-dev libavahi-client-dev libxt-dev

As stated gcc/g++ must be at least version 12. Do as super user

sudo apt-get install gcc-12 g++-12 

and then do as super user

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 60 --slave /usr/bin/g++ g++ /usr/bin/g++-12

If these steps run well we are prepared to build LibreOffice from source.

Cloning and building

Goto to the home directory $HOME and clone the repository:

git clone https://gerrit.libreoffice.org/core libreoffice

Change the directory:

cd libreoffice

Then you can prepare the build files by running the command:

./autogen.sh

The script autogen.sh is using a configuration file autogen.input. The configuration file autogen.input is called automatically. Make sure, that you do not use a autogen.input in the first run.

Tip

As I have explained the configuration file autogen.input is called automatically. Do not use a autogen.input configuration file in the first run. This approach has proved successful.

Run make first to get a working build:

make

After that run make check:

make check

Errors from make check

First time when I installed libreoffice I got two JAVA errors, which did not influencing the installation yet. Next time I was able to run make check without errors. While installing on Linux Mint 21.3 I got again errors. This has to be checked, but did not influence the installation yet.

Running the build

The previous listed steps created a local installation, which you can be started with:

instdir/program/soffice

or

$HOME/libreoffice/instdir/program/soffice

Add the language support for the known languages

Add the language support for the known languages in the directory tree of the source code:

make build-l10n-only

Now, we are prepared to add the translated UI's and help files.

Add the translated UI's and the help files

Run the script autogen.sh without sudo

./autogen.sh

The configuration file autogen.input is called automatically. I am using now the following minmal version of autogen.input:

--with-lang=de it fr
--with-help 
--with-package-format=deb        
--enable-epm   

Then run make

make

Then run make again

make build-l10n-only

Make a copy of README_en-US at two locations and name them README_qtz as well as README_de etc. for each language. The two locations are:

/home/<home-dir>/libreoffice/instdir/readmes
/home/<home-dir>/libreoffice/workdir/CustomTarget/readlicense_oo/readme

Without doing this sudo make install fails an tells README_qtz and README_de etc. are missing.

The bash file readme_copy.bash takes over the copying of the missing README files.

This issue is something like a bug (in the procedure). Without this bug libreoffice could be installed automatically.

As result, now I can see en-US as well as de and the other languages for the installed user interfaces in the libreoffice settings.

Running the build

The previous listed steps created a local installation, which you can be started with:

instdir/program/soffice

or

$HOME/libreoffice/instdir/program/soffice

Final installation

Finally install everything

sudo make install

This results in

/usr/local/lib/libreoffice/program/soffice

with a German UI (and optional languages).

DEB package

The DEB packages are created in:

/home/<home-dir>/libreoffice/workdir/installation/LibreOffice/deb/install

The DEB package creation is not working as expected. The DEB packages can be used and they are recognised as DEB packages, but they do not install LibreOffice in the expected way. This has to be checked.

Workaround

Due to the fact, that the DEB packages cannot be used, I am using the following workaround. I am creating a starter on the desktop and using the icon of the correct installed official libreoffice installation.

To-Do

On my to-do list is one issue of interest. How can I get a DEB package, which can be used for installation as well as distribution in principle.

Exploring the possibilities of the autogen.input configuration file.

Conclusion

I have a version of LibreOffice installed on my computer that works better than any version I have worked with before.

See also

[1] linuxmint.com/download_all.php

[2] translations.documentfoundation.org/

[3] wiki.documentfoundation.org/Development/BuildingOnLinux

[4] www​.libreoffice.org/download/pre-releases/

[5] www​.libreoffice.org/download/download-libreoffice/

[6] dev.blog.documentfoundation.org/2023/07/30/ccache-for-a-5-minutes-libreoffice-build/

[7] wiki.documentfoundation.org/ReleaseNotes/24.8

[8] wiki.documentfoundation.org/Development/How_to_build

[9] wiki.documentfoundation.org/Development/GenericBuildingHints

[10] wiki.documentfoundation.org/Development/ReleaseBuilds

[11] wiki.documentfoundation.org/Development/Configuration_options

[12] wiki.documentfoundation.org/Language

[13] www​.spinics.net/lists/libreoffice/msg08322.html

[14] lists.freedesktop.org/archives/libreoffice/2023-February/089917.html

[15] blog.documentfoundation.org/blog/2019/06/12/start-developing-libreoffice-download-the-source-code-and-build-on-linux/

Tip

I will shortly be making a small PDF and small e-book available via Buymeacoffee that builds on this description. It will contain further information about the described installation and and things beyond that.


I loved the time when you could get also a hamburger 🍔 for one euro!

Buy Me A Coffee


Other ways to donate

If you like what I present here, or if it helps you, or if it is useful, you are welcome to donate a small contribution or a cup of coffee. Or as you might say: Every TRON counts! Many thanks in advance! 😃

TQamF8Q3z63sVFWiXgn2pzpWyhkQJhRtW7            (TRON)
DMh7EXf7XbibFFsqaAetdQQ77Zb5TVCXiX            (DOGE)
12JsKesep3yuDpmrcXCxXu7EQJkRaAvsc5            (BITCOIN)
0x31042e2F3AE241093e0387b41C6910B11d94f7ec    (Ethereum)

File last modified 27/02/2024