SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've always failed to compile libreoffice, LO, with alienbob's libreoffice.SlackBuild.
I can compile LO Using a cut down version of Christoph Willing SlackBuild
I can also compile LO from a git clone that I use for chasing regression bugs. Do the odd fix now and again.
However, alienbob's SlackBuild is beyond me.
My environment is a virtualbox client with an up to date 14.2 with multilib. I also have a number of packages installed from SlackBuilds including qt5.
I've amended alienbob's Slackbuild to explicitly exlude qt5.
The problem with the compiler hanging may have been something to do with the extra sources. So I completely changed all the extra sources in alienbob's libreoffice.Slackbuild with those listed in the 6.2.0.3 version of download.lst
Whatever happened to alienbob's gensrc.sh?
I then got a series of failures -
Quote:
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: symbol lookup error: /tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: undefined symbol: _ZN10HelpLinker4mainERSt6vectorISsSaISsEEPKSsS5_PKN3rtl8OUStringE
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: symbol lookup error: /tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: undefined symbol: _ZN10HelpLinker4mainERSt6vectorISsSaISsEEPKSsS5_PKN3rtl8OUStringE
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/swext/Extension_wiki-publisher.mk:12: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/wiki-publisher/root/help/en-GB.done' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/wiki-publisher/root/help/en-GB.done] Error 127
make[1]: *** Waiting for unfinished jobs....
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/swext/Extension_wiki-publisher.mk:12: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/wiki-publisher/root/help/en-US.done' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/wiki-publisher/root/help/en-US.done] Error 127
Makefile:286: recipe for target 'build' failed
make: *** [build] Error 2
In libreoffice.SlackBuild I removed the --enable-ext-wiki-publisher flag from autogen.sh
Then got this error
Quote:
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: symbol lookup error: /tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: undefined symbol: _ZN10HelpLinker4mainERSt6vectorISsSaISsEEPKSsS5_PKN3rtl8OUStringE
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: symbol lookup error: /tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/LinkTarget/Executable/HelpLinker: undefined symbol: _ZN10HelpLinker4mainERSt6vectorISsSaISsEEPKSsS5_PKN3rtl8OUStringE
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/nlpsolver/Extension_nlpsolver.mk:12: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/nlpsolver/root/help/en-GB.done' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/nlpsolver/root/help/en-GB.done] Error 127
make[1]: *** Waiting for unfinished jobs....
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/nlpsolver/Extension_nlpsolver.mk:12: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/nlpsolver/root/help/en-US.done' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/Extension/nlpsolver/root/help/en-US.done] Error 127
Makefile:286: recipe for target 'build' failed
make: *** [build] Error 2
In libreoffice.SlackBuild I removed the --enable-ext-nlpsolver flag from autogen.sh
Then got this error
Quote:
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/CxxObject/vcl/source/font/FeatureCollector.o: In function `vcl::font::FeatureCollector::collectGraphite()':
FeatureCollector.cxx.text+0x34): undefined reference to `hb_graphite2_face_get_gr_face'
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/CxxObject/vcl/source/font/FeatureCollector.o: In function `vcl::font::FeatureCollector::collect()':
FeatureCollector.cxx.text+0xadb): undefined reference to `hb_graphite2_face_get_gr_face'
collect2: error: ld returned 1 exit status
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/vcl/Library_vcl.mk:20: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/instdir/program/libvcllo.so' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/instdir/program/libvcllo.so] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:286: recipe for target 'build' failed
make: *** [build] Error 2
I was now on a bit more familiar territory, In that this shouldn't be happening if I was actually using the external source harfbuzz-1.8.4.tar.bz2. The error message seemed to be suggesting that I was somehow using one of the system packages harfbuzz-1.2.7-x86_64-1 or harfbuzz-compat32-1.2.7-x86_64-1compat32.
A quick email exchange with the LO developers, who asked me to run
Code:
make PARALLELISM=1 verbose=t
The developers conclusion was
Code:
that a -L/usr/lib64 is your problem; it is pointless (because that is in the default search path anyway) and harmful (because it overrides the -L$W/UnpackedTarball/harfbuzz/src/.libs that comes later:
They then asked me to investigate further
Quote:
now the question is where does that come from, try:
"grep /lib64[^/] config_host.mk"
Silly question: Why are you compiling something that large in the first place, unless of course you just enjoy it or are doing it for educational purposes?
Installiing LibreOffice on Slackware is easy. Just download the RPMs (program and help files), extract them, run rpm2tgz on all RPM files, then use installpkg to put them in /opt/LibreOffice6. Takes 5 minutes, and I've never had a failure doing this with any LO version. I recompress them into a new LibreOffice6.Slackware64.tar.gz file so I can just install it on all my Slackware boxes.
Multilib is not necessary, but it shouldn't be an issue, either.
Silly question: Why are you compiling something that large in the first place, unless of course you just enjoy it or are doing it for educational purposes?
Why not read the OP's first post? It includes:
Quote:
but I just have this itch to compile with alienbob's SlackBuild. Might learn something!
I've learnt a lot in the last few days. To be honest it was always a bit more than an itch, there were practical reasons as well.
I should have also have said that I've raised a dozen or more bug reports for libreoffice.
Have a LO git clone that I've kept up to date over the years, compiles successfully, used to submit patches to fix regressions.
On my production machines I've historically used the Willy Sudiarto Raharjo packages as they're quick to install.
However, we seem to be heading into uncharted territory.
The autogen in my git clone now
rejects the kde4 flag, not sure whether this means the end of kde4 integration on 14.2
expects gcc >= 7, Slackware 14.2 is on gcc-5.5.0
As a result I've had to move my LO git clone to 14.2+ with alienbob's ktown.
So now need a neat way to package LO so I can move it around my test boxes. Alienbob's seems to be the best candidate to do this as it mentions sourcing the code from git.
Unfortunately with alienbob's script I seem to invariably fail. Have to hack things to get a success compile, now's there a suggestion that there may be a problem with compiling LO in a multilib environment - which I find a worrying. All the 188 downloads from SlackBuild.org I have compiled on a multilib platform - so are all these suspect, they don't seem to be causing me a problem and all compile successfully. Should I have compiled them on a pure 64-bit machine?
I always seem to succeed when using the Chris Willing LO SlackBuild.
having multilib present may cause problems. I am not saying this is what causes a problem with LO, just in general...
I cloned a 14.2 multilib client.
Had several goes at reverting the clone back to a non-multilib evironment. In the end the only method that seemed to work was the slackpkg route and even then I had to reinstall curl and mariadb.
Anyway with
Code:
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
the build failed with
Quote:
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/CxxObject/vcl/source/font/FeatureCollector.o: In function `vcl::font::FeatureCollector::collectGraphite()':
FeatureCollector.cxx.text+0x34): undefined reference to `hb_graphite2_face_get_gr_face'
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/workdir/CxxObject/vcl/source/font/FeatureCollector.o: In function `vcl::font::FeatureCollector::collect()':
FeatureCollector.cxx.text+0xadb): undefined reference to `hb_graphite2_face_get_gr_face'
[build CXX] svx/source/form/dbcharsethelper.cxx
collect2: error: ld returned 1 exit status
/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/vcl/Library_vcl.mk:20: recipe for target '/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/instdir/program/libvcllo.so' failed
make[1]: *** [/tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/instdir/program/libvcllo.so] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:286: recipe for target 'build' failed
make: *** [build] Error 2
After getting a successful compile of libreoffice (6.2.0) with alienbob's libreoffice.SlackBuild on Slackware 14.2 with kde4, qt(qt4) and qt5.
I did some testing -
My forms in base - work
My connection to MariaDB - works
Those macros I use on a weekly and monthly basis - work.
Couldn't find anything wrong.
So I'm happy to say that I can now compile libreoffice with alienbob's libreoffice.SlackBuild. So I have a bit of portability.
I then decided to try compiling on 14.2+ with alienbob's libreoffice.SlackBuild. Modified to reflect this was on a kde5 environment with AlienBob's ktown. It still had the qt(qt4) and qt5 packages installed. Tried every which way top get a successful compile.
In file included from /usr/lib64/qt/include/QtCore/QVariant:1,
from /usr/include/KF5/KIOCore/kio/metadata.h:23,
from /usr/include/KF5/KIOCore/kio/global.h:28,
from /usr/include/KF5/KIOCore/kprotocolmanager.h:26,
from /tmp/build/tmp-libreoffice/libreoffice-6.2.0.3/shell/source/backends/kde5be/kde5access.cxx:31:
/usr/lib64/qt/include/QtCore/qvariant.h:612:54: error: macro "Q_DECLARE_BUILTIN_METATYPE" requires 3 arguments, but only 2 given
Q_DECLARE_BUILTIN_METATYPE(QVariantList, QVariantList)
In other words the build was defaulting to qt(qt4) and ignoring qt5 but still using the LO code that was expecting qt5!
All this was done on a VirtualBox client. So I decided to clone the client and remove qt(qt4) which just left qt5.
The LO compile using alienbob's libreoffice.SlackBuild was successful.
Removing qt4 broke keepassx, qt-creator, qbs, and Scribus and probably others as well. I've since compiled qt-creator and qbs in this now qt4 free environment they seem stand up. I had to switch to keepassxc as keepassx seems to need qt4. Not tried to compile Scribus.
Stood up LO 6.2.0 successfully. Very limited testing showed that a regression bug had crept in in that copying in LO and pasting out of LO wasn't working. Someone else had already reported this see https://bugs.documentfoundation.org/....cgi?id=122689. Just a kde5 LO integration bug.
So I compiled LO 6.2.1 just to prove that the regression has been fixed and that it wasn't anything I'd done in removing qt4.
I successfully compiled LO 6.2.1 using alienbob's SlackBuild on my 14.2+ environment with just the qt5 package. The qt(qt4) package had been removed. The regression bug had been fixed.
I've not done any other testing, but it looks promising.
After getting a successful compile of libreoffice (6.2.1) with alienbob's libreoffice.SlackBuild on Slackware 14.2+ with kde plasma in a pure qt5 environment
I did some testing -
My forms in base - work
My connection to MariaDB - works
Those macros I use on a weekly and monthly basis - work of a fashion. I have a progress bar, in the status pane, to monitor progress. Instead of the progress bar smoothly monitoring progress the whole form refreshes, this is happening so quickly that the form just turns a constant white until the job completes then the form returns to what it should be. This problem has been fixed in Version 6.3.0 Alpha, might have even been fixed earlier.
In base there is a problem with dates in a grid control in that if you enter 01/07/18 in a cell the date changes on leaving the row to 30/06/18. This problem appears in all versions of LO in a pure qt5 Plasma environment. There has been no fix for it. Not sure whether it's been reported as a bug.
In calc there is a problem with time in that if you enter the time 16:48 the cell changes on leaving the row to 16:47. This problem has been fixed by LO Version 6.3.0 Alpha
Couldn't find anything else wrong. Early days.
So LO has some way to go before being production ready for a pure qt5 kde plasma environment.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.