My thoughts on Slackware, life and everything

LibreOffice 6.4.5 finally for Slackware 14.2

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/)

Enjoy! Eric

15 Comments

  1. Tonus

    Epic win !
    Thanks a lot and great journey !

  2. Alex

    Hi AlienBob

    Couldn’t get 6.4.5 Base to start. Is that because it’s been built in the same way as 7.0.0 without java support?

    Alex

    • alienbob

      Alex, I had tested all libreoffice programs… except Base. And I get exactly the same issue – lobase crashes on startup.\I could not find an obvious reason for that when I start “strace lobase”. Its startup should not depend on Java as far as I know.

      • Alex

        Hi Alienbob

        You’ve probably already spotted that if libreoffice –base is run from the command line

        The moment base crashes get this message
        Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

        What I don’t know is whether this is the cause of the crash or a consequence.

        If it would help I could dig a bit deeper and compile on one of my VirtualBox test platforms. Might be an interesting exercise. I’ve investigated LO regressions and supplied bug fixes. I’ve got a clone of LO’s git. which used to compile successfully until I got the error

        checking the GCC version… gcc 5.5.0 (50500)
        configure: error: GCC 5.5.0 is too old, must be at least GCC 7.0.0

        If I give it a go, looks like I should start with this
        1. installing the gcc 9.2.0 compilers. Can I use the ones from current? Can this be installed alongside gcc-5.5.0?
        2. upgrade gperf to the version I’ve got in Slackware-current.

        This will be done in a throw away VirtualBox clone.

        Alex

        • alienbob

          I just built libreoffice 6.4.6 (the latest) and the problem with lobase persists.
          I believe that the “Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged” is not an actual error, it is output when the file recovery dialog appears but the real crash happens before. Like I said, I could not really find a cause in the output of a ‘strace’ command.
          Using ‘gdb’ you’ll see that a segfault occurs:

          Thread 1 “soffice.bin” received signal SIGSEGV, Segmentation fault.
          0x00007fffee32c16d in vcl::WizardMachine::WizardMachine(weld::Window*, WizardButtonFlags) () from /usr/lib64/libreoffice/program/libvcllo.so

          If you want to compile it yourself on Slackware 14.2 I already provide the link to where you can find Pat’s gcc-9.2.0 compilers for Slackware 14.2. And it is best that you compile gperf yourself and not use the binaries of slackware-current.

        • alienbob

          You will be able to start lobase when you choose the “gen” user interface instead of the default “gtk3” interface:

          $ SAL_USE_VCLPLUGIN=gen /usr/lib64/libreoffice/program/soffice.bin –base

          But the interface will look quite ugly.
          At least it may provide an angle in finding the cause for these crashes.

          • Alex

            Hi Alienbob

            Excellent. Thanks ever so much for the suggestion.

            On my test machine connected your LO 6.4.5 to an existing LO base front end and mariadb backend. Works perfectly.

            Alex

          • burdi01 / D.L.C. Burggraaff

            This SAL_USE_VCLPLUGIN=gen also solves my longstanding problem of impress (6.4.X and 7.0.X) crashing on certain powerpoints *).
            I edited /etc/profile.d/libreoffice.sh accordingly.
            The interface indeed is somewhat ugly, but crashes are worse.
            Thks. Dick 😀

            *) These powerpoints cannot be share because of copyright issues. Hence I never could report the problem.

  3. TheTKS

    Thanks for all your hard work, including the extra detective work!

    Working perfectly for me on Slackware64 14.2.

    TKS

  4. babam

    Alien, Thank you for your hard work.

  5. Antonio Maretzek

    In a 5 min. atempt, I tried your 6.4.6 package. It didn’t work. I can’t set the line color in Draw. Stock 6.3 works on 14.1 though… I can make it work on 14.2, but other programs start to fail, chrome, for example…
    AM

    • alienbob

      In a 30 second attempt, I can tell you I have no problems here to change the line color in Draw.

      What do you mean, “other programs start to fail, chrome, for example” – that does not make sense at all. A LibreOffice installation does not mess with the system libraries.
      Also, why are you mixing up Slackware 14.1 and 14.2 in this comment, I hope you realize my package is for Slackware 14.2. It won’t work on 14.1.

      • Antonio Maretzek

        Good to know that it works for you. This probably means that I messed up my system. I just don’t see how, ATM. What I usually do is take the RPMs from Libreoffice, rpm2tgz and then install. Starting with 6.3 I can’t choose the line color of a box in Draw. This on 14.2. On a 14.1., this type of installation led to beeing able to choose the line color. On a 14.2. test system, I replaced some gtk libs of 14.2. by the ones of 14.1. There I could choose the line color. But Chrome doesn’t work any more. So, no go… Since it seems to be a personal, isolated issue, my post isn’t of much interest…

  6. Mark Foley

    First of all thanks for all your hard work on Slackware. I’m commenting on the 6.4.6 upgrade of LibreOffice. This still does not work on my system. I have an up-to-date Slackware. I am running 4 monitors using two NVIDIA GeForce GT 710 graphics cards, and the latest driver from NIVIDIA. The problem is with Xinerama. If I run this X-Windows extension I cannot pop-down the selections for font color or text background. Nothing happens. Works OK if I don’t run Xinerama (but then I don’t have 4 monitors). LibreOffice does work OK with Xinerama for versions 6.0.2 and earlier, so I’m stuck at 6.0.2. Doubtful you can do anything about this on your end. Another clue: with Firefox versions later than 52.9.0, if I attempt to move a browser window tab it crashed Firefox, sometimes it crashes KDE and I have to relogin. Sometime is crashes/reboots the computer. Again, no issues with later versions of Firefox if Xinerama is not running.

    • alienbob

      Hi Mark,

      As you said already, there’s nothing I can do about your issue. Perhaps you should open a bug report at libreoffice.org.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑