The Document Foundation recently released version 7.0.0 of their Libre Office suite of applications. The packages for Slackware-current can be found in my repository. But the situation for Slackware 14.2 used to be different – I got stuck after LibreOffice 6.2 because the newer source releases (6.3 and onwards) require versions of system software that our stable Slackware 14.2 platform does not offer.
From time to time during the last year, when there was time and the build box was not compiling packages, I messed around with the libreoffice.SlackBuild script in futile attempts to compile recent versions of LibreOffice on Slackware 14.2. I failed all the time.
Until last week. After I had uploaded the new KDE Plasma5 packages to ‘ktown‘, I had an epiphany and decided to use a new approach. What I did was: question all the historic stuff in the SlackBuild script that got added whenever I needed to work around compilation failures; and accept that the compilation needs newer versions of software than Slackware 14.2 offers. The first statement meant that I disabled patches and variable declarations that messed with compiler and linker; and for the second statement I stuck to a single guideline: the end product, if I were able to compile a package successfully, has to run out of the box on Slackware 14.2 without the need to update any of the core Slackware packages.
So I ended with a script that only has two new compile-time requirements: use the ‘unsupported‘ gcc 9.2.0 compilers instead of Slackware’s ageing gcc-5.5.0. And update gperf to the version you find in Slackware-current. The rest of the required supporting libraries will be compiled into LibreOffice automatically. And this time, the LibreOffice sources compiled without errors.
The resulting binaries would however fail to run on a regular Slackware 14.2 (with the stock versions of gcc and gperf packages) because of missing symbols in the dynamically linked system libraries.
I managed to get around that issue, by adding the two runtime support libraries that come with gcc-9.2.0 (libgcc_s.so.1 and libstdc++.so.6) into the ‘program’ directory of LibreOffice. Those libraries contain the symbols LibreOffice is looking for; a simple runtime dependency on gcc.
By the way: you cannot expect everybody to install a set of compilers just to run programs, Slackware solves this dilemma by adding the GCC runtime libraries to the ‘aaa_elflibs‘ package which is usually one of the first packages to get installed on a new system.
That worked! LibreOffice 6.4.5 for Slackware 14.2 is now available in my package repository. And I even built LibreOffice 7.0.0 in the same manner. I stuck with 6.4.5 because I want people to be able to use a stable and well-established version of an office suite on the stable Slackware platform. The more experimental 7.0.0 release is for Slackware-current.
Guess what! Today, just when I uploaded the 6.4.5 packages I noticed that the release of LibreOffice 6.4.6 has been announced (and in October we’ll see the final release in the 6.4 cycle – being 6.4.7).
I will try to find some time to compile those fresh tarballs; but first I do like feedback about the new 6.4.5 packages that are now downloadable for Slackware 14.2.
Get the packages – as usual – from my own server or one of its mirrors; https://slackware.nl/people/alien/slackbuilds/libreoffice/ (rsync://slackware.nl/mirrors/people/alien/slackbuilds/libreoffice/) or https://slackware.uk/people/alien/slackbuilds/libreoffice/ (rsync://slackware.uk/people/alien/slackbuilds/libreoffice/)