LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-22-2019, 05:29 AM   #1
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Rep: Reputation: 64
Compiling libreoffice


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.

It get's so far, but then hangs for hours at -


Code:
[build PKG] redland
[build DEP] LNK:Library/libpackage2.so
[build LNK] Library/libpackage2.so
[build CXX] lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx
[build CXX] lingucomponent/source/spellcheck/spell/sspellimp.cxx
[build CXX] lingucomponent/source/thesaurus/libnth/nthesdta.cxx
[build CXX] lingucomponent/source/thesaurus/libnth/nthesimp.cxx
[build SDI] sc/sdi/scslots
[build SDI] sw/sdi/swslots
[build SDI] sd/sdi/sdgslots
[build SDI] sd/sdi/sdslots

until I kill it.

top shows me this -


Code:
top - 11:23:18 up  3:09,  4 users,  load average: 5.10, 5.03, 5.02
Tasks: 198 total,   6 running, 192 sleeping,   0 stopped,   0 zombie
%Cpu(s): 98.7 us,  1.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7974.9 total,    211.4 free,   1009.3 used,   6754.3 buff/cache
MiB Swap:   4096.0 total,   4069.0 free,     27.0 used.   6383.4 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                 
 9984 root      20   0  119760   8632   7760 R 100.0   0.1  26:28.40 svidl                                                                                                                                                                   
10451 root      20   0  119760   8664   7792 R 100.0   0.1  26:23.54 svidl                                                                                                                                                                   
10464 root      20   0  119760   8724   7852 R 100.0   0.1  26:22.18 svidl                                                                                                                                                                   
 9989 root      20   0  119760   8644   7772 R  93.8   0.1  26:23.58 svidl                                                                                                                                                                   
10449 root      20   0  119760   8756   7880 R  93.8   0.1  26:20.07 svidl                                                                                                                                                                   
10510 alex      20   0   20720   2920   2388 R   6.2   0.0   0:00.01 top

How can I ascertain what the problem is?

I normally create libreoffice using the Willy Sudiarto Raharjo SlackBuild which is not compiling but conversion of the rpms

I know I can just download alienbob's binary packages, but I just have this itch to compile with alienbob's SlackBuild. Might learn something!

Alex
 
Old 02-22-2019, 06:08 AM   #2
Skaendo
Member
 
Registered: Dec 2014
Location: West Texas, USA
Distribution: Slackware64-14.2
Posts: 852

Rep: Reputation: Disabled
You might get some hints/clues from this thread:

https://www.linuxquestions.org/quest...nt-4175589127/

Here is where I finally got it:
https://www.linuxquestions.org/quest...ml#post5609059
Ignore the link to my build log, it is no longer valid.

Last edited by Skaendo; 02-22-2019 at 06:11 AM.
 
Old 02-26-2019, 04:51 AM   #3
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
I elected to concentrate on LO 6.2.0.3

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"
which revealed

Quote:
export LDFLAGS= -Wl,-rpath,/usr/lib64/libreoffice/program/ -L/usr/lib64

After a bit of investigation I hashed out what I considered to be the problem code in libreoffice.slackbuild. I'm on a 64-bit box.


Quote:
case "$ARCH" in
i?86) SLKCFLAGS="-march=${ARCH} -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
x86_64) SLKCFLAGS="-fPIC"
# SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -std=c++98"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
*) SLKCFLAGS=""
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
esac

So what don't I understand with alienbob's libreoffice.SlackBuild

I downloaded using

lftp -c "open http://www.slackware.com/~alien/slac.../libreoffice/; mirror build"


in the downloaded libreoffice.SlackBuild I changed
  1. 6.1.4.2 to 6.2.0.3
  2. the list of external sources

but still had to make this change

Quote:
x86_64) SLKCFLAGS="-fPIC"
# SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
 
Old 02-26-2019, 05:57 AM   #4
solarfields
Member
 
Registered: Feb 2006
Location: Outer Shpongolia
Distribution: Slackware
Posts: 956

Rep: Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514
Quote:
My environment is a virtualbox client with an up to date 14.2 with multilib
having multilib present may cause problems. I am not saying this is what causes a problem with LO, just in general...
 
Old 02-26-2019, 07:30 PM   #5
KeithE
Member
 
Registered: Jan 2003
Location: Mesa, AZ
Distribution: Mint, Slackware
Posts: 96

Rep: Reputation: 19
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.
 
Old 02-26-2019, 10:46 PM   #6
chris.willing
Member
 
Registered: Jun 2014
Location: Brisbane, Australia
Distribution: Slackware,LFS
Posts: 537

Rep: Reputation: 321Reputation: 321Reputation: 321Reputation: 321
Quote:
Originally Posted by KeithE View Post
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!
 
Old 02-27-2019, 02:32 AM   #7
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
Quote:
Originally Posted by chris.willing View Post
Why not read the OP's first post? It includes:
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
  1. rejects the kde4 flag, not sure whether this means the end of kde4 integration on 14.2
  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.

Alex
 
Old 02-27-2019, 03:58 AM   #8
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
Quote:
Originally Posted by solarfields View Post
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


with
Code:
SLKLDFLAGS=""; LIBDIRSUFFIX=""

the build was successful

Quote:
[build STR] transportation/transportation
[build PKG] Gallery/transportation
[build BIN] extras
[build MOD] extras
[build MOD] libreoffice
[build BIN] top level modules: libreoffice
[build ALL] top level modules: build-non-l10n-only build-l10n-only
 
1 members found this post helpful.
Old 02-27-2019, 04:02 AM   #9
Toutatis
Member
 
Registered: Feb 2013
Posts: 237

Rep: Reputation: Disabled
@aikempshall
maybe you could rename /usr/lib to /usr/lib0 while you compile libreoffice, run ldconfig, compile, and after that restore /usr/lib ?
 
Old 03-05-2019, 07:48 AM   #10
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
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.

The flags I was using, among others, where

Code:
--disable-kde4 
--enable-kde5 
--enable-gtk3-kde5 
--enable-qt5
Whatever I tried it always failed with
Quote:
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.
 
Old 03-05-2019, 07:52 AM   #11
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
I forgot to say the itch has gone away. I've learnt a lot.
 
Old 03-06-2019, 08:24 AM   #12
aikempshall
Member
 
Registered: Nov 2003
Location: Bristol, Britain
Distribution: Slackware
Posts: 582

Original Poster
Rep: Reputation: 64
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 -
  1. My forms in base - work
  2. My connection to MariaDB - works
  3. 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.
  4. 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.
  5. 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
  6. 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.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: LibreOffice 4.4 Released as the Most Beautiful LibreOffice Ever LXer Syndicated Linux News 0 01-30-2015 01:10 AM
LXer: LibreOffice vs. OpenOffice: Why LibreOffice Wins LXer Syndicated Linux News 0 10-29-2014 10:50 AM
How to install only Writer from Libreoffice package"libreoffice-4.0.3-i486-1alien.txz just.srad Slackware 10 05-30-2013 02:37 PM
LXer: Build Your Business Around LibreOffice, LibreOffice Certification Program Announced LXer Syndicated Linux News 0 05-07-2012 12:10 PM
LXer: LibreOffice Tips: Inserting QurĂ¢??an text in LibreOffice Writer LXer Syndicated Linux News 0 04-16-2012 02:50 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:56 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration