LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 11-07-2017, 12:06 PM   #31
drmozes
Slackware Contributor
 
Registered: Apr 2008
Distribution: Slackware
Posts: 1,540

Rep: Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309

Quote:
Originally Posted by abga View Post
@drmozes - if you are so kind and obviously have some spare time can you please jump in and start a compilation on your build pool wonder machine by adapting the Slack 14.2 x86 LibreOffice?
The Orange Pi H3 Plus v1 only has 1GB RAM, and I have a 4GB swap partition on an SSD. There are a few SlackBuilds that reduce down the number of parallel builds due to RAM problems.
I need to get a machine with more RAM at some point, but so far I've been able to get by on 1GB.

KDE also runs reasonably well on my Banana Pi and Orange Pi. I wouldn't use it myself for a desktop on ARM, but when I do test it from time to time, it's usable.
I don't have any time to look at something like libreoffice - particularly with the dependencies it requires.
 
Old 11-07-2017, 05:25 PM   #32
Linux.tar.gz
Senior Member
 
Registered: Dec 2003
Location: Paris
Distribution: Slackware forever.
Posts: 2,534

Original Poster
Rep: Reputation: 100Reputation: 100
The [GAL] problem comes from a very old unpatched gcc bug, I doubt it's linked to the lack of Java/Ant.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70112

Requires taking files manually from a x86 build, then resume the compilation.
I'll try that.

Last edited by Linux.tar.gz; 11-07-2017 at 06:16 PM.
 
Old 11-08-2017, 03:40 PM   #33
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
Just a short update, 15 hours into the build with only one makejob I've reached the "zone" where it crashed yesterday after just 7 hours with two makejobs.
Unfortunately it looks like it will crash again in the same "Piņa colada" section compiling a huge 29MB source file for the last 30 minutes: COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp
I've noticed only after I started the compilation that I gave the GPU 256MB RAM and was left with only with 735 MB for the system, my bad.

Code:
tail -f /mnt/hd/libreoffice/libreoffice-build.log
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLSplineLoader14.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated14/COLLADASaxFWLVisualSceneLoader14.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLAssetLoader15.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15Private.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateEnums.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFindElementHash.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFunctionMap.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateFunctionMapFactory.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateNameMap.cpp
[build CXX] workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp

ps axuf | grep cc1plus
root     29286  3.0  0.0   3168   480 pts/1    S+   23:11   0:00                  \_ grep cc1plus
root     28864 69.4 84.1 684224 633580 ?       D    23:00   7:58                  \_ /usr/libexec/gcc/arm-slackware-linux-gnueabihf/7.2.0/cc1plus -quiet -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/ -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADABaseUtils/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADABaseUtils/include/Math -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADAFramework/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/include/generated14 -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/include/generated15 -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/MathMLSolver/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/MathMLSolver/include/AST -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/UTF/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/GeneratedSaxParser/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/include -I /opt/java/include -I /opt/java/include/linux -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/config_host -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/pcre/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/UTF/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/MathMLSolver/include -I /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/Externals/MathMLSolver/include/AST -MMD /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/GenCxxObject/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.d -MF /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/Dep/GenCxxObject/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.d_ -MP -MT /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/GenCxxObject/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.o -D_GNU_SOURCE -D ARM -D ARM32 -D BOOST_ERROR_CODE_HEADER_ONLY -D BOOST_SYSTEM_NO_DEPRECATED -D CPPU_ENV=gcc3 -D LINUX -D NDEBUG -D OSL_DEBUG_LEVEL=0 -D UNIX -D UNX -D _FILE_OFFSET_BITS=64 -D _PTHREADS -D _REENTRANT -D SYSTEM_LIBXML -D GENERATEDSAXPARSER_XMLPARSER_LIBXML -D GENERATEDSAXPARSER_VALIDATION -D PCRE_STATIC -D EXCEPTIONS_ON -D LIBO_INTERNAL_ONLY -isystem /usr/include/libxml2 /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp -quiet -dumpbase COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mtls-dialect=gnu -auxbase-strip /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/GenCxxObject/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.o -O3 -Wall -Wno-missing-braces -Wnon-virtual-dtor -Wendif-labels -Wextra -Wundef -Wunused-macros -Wduplicated-cond -Wlogical-op -Wshift-overflow=2 -Wunused-const-variable=1 -Wshadow -Woverloaded-virtual -w -std=gnu++14 -fvisibility=hidden -fmessage-length=0 -fno-common -fvisibility-inlines-hidden -fstack-protector-strong -fPIC -fexceptions -fno-enforce-eh-specs -o -

du -s -h /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp
29M     /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/opencollada/COLLADASaxFrameworkLoader/src/generated15/COLLADASaxFWLColladaParserAutoGen15PrivateValidation.cpp
@drmozes
Sorry, I was under the impression that you somehow split the make jobs and use the x86 systems for the individual compilation. That's why I asked you for help on this.
Attached Thumbnails
Click image for larger version

Name:	libreoffice.jpg
Views:	21
Size:	69.9 KB
ID:	26240  

Last edited by abga; 11-08-2017 at 03:51 PM. Reason: typo
 
Old 11-08-2017, 04:47 PM   #34
drmozes
Slackware Contributor
 
Registered: Apr 2008
Distribution: Slackware
Posts: 1,540

Rep: Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309Reputation: 1309
Quote:
Originally Posted by abga View Post
@drmozes
Sorry, I was under the impression that you somehow split the make jobs and use the x86 systems for the individual compilation. That's why I asked you for help on this.
I do, but the linking is done natively.
Why don't you look at the x-toolchain:
ftp://ftp.arm.slackware.com/slackwar...s/x-toolchain/
You'd need to use the build script there, and then run distccd on the x86 (see the rc.local-addition file).
On the ARM side, you'd look at "dbuild" which basically creates symlink wrappers for gcc et al to distcc, and sets $PATH and a few other things in the shell environment.
It's a bit fiddly because it's set up for the ARM port environment only, but is easy enough to adapt if you spend time looking at what it's doing.

Even if you scale back the number of parallel jobs, you can still make the x86 do most of the compilation. My cross toolchain only supports gcc though - I have not looked into llvm yet.
 
Old 11-10-2017, 12:26 AM   #35
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
Escaped the out of memory form opencollada, reported in the previous post, but got this morning into another one, this time a serious one
It happened after about 48 hours into the compilation and it was caused by building libetonyek. The only larger source files I found where in:
/mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/UnpackedTarball/libetonyek/src/lib/.deps
The crash:
Code:
[build PAT] libetonyek
....
/usr/include/c++/7.2.0/bits/deque.tcc:611:3: note: parameter passing for argument of type ‘std::_Deque_iterator<libetonyek::IWORKGradientStop, const libetonyek::IWORKGradientStop&, const libetonyek::IWORKGradientStop*>’ changed in GCC 7.1
  CXX      libetonyek_internal_la-IWAReader.lo
  CXX      libetonyek_internal_la-IWASnappyStream.lo
  CXX      libetonyek_internal_la-IWAText.lo
  CXX      libetonyek_internal_la-IWORKChainedTokenizer.lo
  CXX      libetonyek_internal_la-IWORKChart.lo
  CXX      libetonyek_internal_la-IWORKCollector.lo
  CXX      libetonyek_internal_la-IWORKDictionary.lo
  CXX      libetonyek_internal_la-IWORKDiscardContext.lo
  CXX      libetonyek_internal_la-IWORKDocumentInterface.lo
  CXX      libetonyek_internal_la-IWORKFormula.lo
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[6]: *** [Makefile:1271: libetonyek_internal_la-IWORKFormula.lo] Error 1
make[5]: *** [Makefile:830: all] Error 2
make[4]: *** [Makefile:397: all-recursive] Error 1
make[3]: *** [Makefile:506: all-recursive] Error 1
make[2]: *** [Makefile:417: all] Error 2
make[1]: *** [/mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/external/libetonyek/ExternalProject_libetonyek.mk:29: /mnt/hd/libreoffice/tmp/SBo/libreoffice-5.4.2.2/workdir/ExternalProject/libetonyek/build] Error 1
make: *** [Makefile:269: build] Error 2
I was monitoring the system with the help of Monitorix and noticed the bumps (100%) usage in the Memory Allocation/ VFS graphs.
ATM I'd stop investing my time/efforts in this, I've never imagined that I'll need more than 500-900 MB for a compilation and considering this a slight "insult" that I'd expect maybe from the Redmond guys but not from the OpenSource community. But maybe some LibreOffice developers were working at Redmond before ...
Maybe during the weekend I'll start it again with 4 make jobs on 900MB RAM (hope I won't forget again to edit the /boot/config.txt & reboot) and a 4GB external HDD swap (I tried to avoid this until now).

@drmozes
Thanks, I was looking into it when I first joined LQ and was considering compiling my own kernel for the Pi boards, downloaded some of your stuff but never really had time to look and understand/learn it. I got successful until now by only using 4 armv7 cores and 900MB RAM, apparently this is not enough for larger compilations anymore. I never used a swap to substitute the RAM especially for a compilation, regardless of how fast the storage is (it will get bottle-necked anyways matching the USB speed on the Raspberry Pi).
I don't own any SSD, I consider them a luxury, still expensive, only half of the capacity optimally usable (I would leave the other half for the wear leveling) and unreliable.
Intel's 3D XPoint tech looks promising though (robustness).

Last edited by abga; 11-10-2017 at 12:34 AM. Reason: changed format
 
Old 11-12-2017, 12:10 AM   #36
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
I just started a new compilation without Java & with Apache ANT & with KDE4 on a Pi2B - 957 MB RAM, external HDD working directory, 4 make jobs and a 4 GB external HDD swap partition. I'll report back in the evening, gtg.
If I somehow fail again, then I'll use the build wonder machine drmozes created.

@Linux.tar.gz
What's your status on this? Have you got it compiled and working finally?

Last edited by abga; 11-13-2017 at 04:12 PM. Reason: correction - without JAVA & with Apache ANT & with KDE4
 
Old 11-12-2017, 03:57 AM   #37
Linux.tar.gz
Senior Member
 
Registered: Dec 2003
Location: Paris
Distribution: Slackware forever.
Posts: 2,534

Original Poster
Rep: Reputation: 100Reputation: 100
I tried to build with -O0, as said in the gcc bug report, but the error was the same.

I now have to look at the source files to see what is moved by gengal.bin and try to do the stuff manually, then resume the compilation.
Not sure to succeed...
 
Old 11-13-2017, 04:56 PM   #38
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
It was nothing to update yesterday evening as the compilation was still running. Unfortunately, today around noon I got a short power drop (some switching that happens 1-2 a week) that blew my compilation I only use laptops and a small (and very tired) UPS for my monitor & a switch, the Pi boards I backup through some cheap & modified Chinese power banks that should output 1,5A for a short period. The power outage was a little bit longer and i got the external HDD disconnected & the Pi2Board frozen. Bad luck.

Now, I got interested and started this compilation after I experienced how fast LibreOffice runs under Raspbian on the Raspberry Pi0. During this 25 hour partial compilation with 957MB RAM and 4GB swap, which was an utterly stupid approach from the very beginning, but then somehow one needs to tests his knowledge every now and then, I got into exactly what I was expecting, compilation done on the swap and not in RAM.
Yesterday I observed many times some cc1plus processes exceeding 400-500MB and today in the morning before I left home and the compilation reached the Calc application, I got my external HDD working 100% and by checking the system stats I observed a wave-like behavior - for every 4 cc1plus new jobs the RAM was filling up really fast and the swap usage was reaching 600-800MB, by the time the cc1plus were done and the system was clearing the RAM/swap, a new bunch of cc1plus processes were starting again filling everything up.

According to the official doc the RAM looks to be a taboo subject (obviously), as estimated before at least 2GB RAM are necessary for the compilation:
https://wiki.documentfoundation.org/...uildingOnLinux

@drmozes - your wonder machine looks to be the only option left. I'll definitely take a look into it these days and hopefully won't need to annoy you too much with support requests.

@Linux.tar.gz
After 25 hours of compilation, with only some gcc 7.1 related notes and warnings that didn't break anything, I got apparently into the sc source folder that belongs to the Calc application:
http://www.lanedo.com/exploring-the-...ice-code-base/
And my last lines in the 9MB big and 124440 lines long build-log were:
Code:
[build CXX] sc/source/ui/view/select.cxx
[build CXX] sc/source/ui/view/selectionstate.cxx
[build CXX] sc/source/ui/view/spelldialog.cxx
[build CXX] sc/source/ui/view/spelleng.cxx
[build CXX] sc/source/ui/view/spellcheckcontext.cxx
I'm wondering if your crash ([GAL] problem) happened after this stage, just to make sure/prepare that I won't end up with another failed compilation.

Last edited by abga; 11-13-2017 at 05:00 PM. Reason: 1 x typo
 
Old 11-14-2017, 01:31 PM   #39
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
Somewhere after 1/2 (line 85306/124440) of the libreoffice-build.log I've noticed this:
Code:
[build DEP] LNK:Library/libswlo.so
[build DEP] LNK:Library/libmswordlo.so
[build DEP] LNK:Executable/pixelctl
[build DEP] LNK:Executable/gengal.bin
[build DEP] SRS:svx/gal
[build DEP] SRS:svx/ofa
[build DEP] SRS:svx/res
[build DEP] LNK:Library/libtextconversiondlgslo.so
[build DEP] LNK:Library/libsvxcorelo.so
I was using -O3 in my last compilation attempt, specifically:
Code:
SLKCFLAGS="-O3 -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -std=c++98"
By looking after some more building LibreOffice for ARM experiences I stumbled upon this (old) discussion:
https://ask.libreoffice.org/en/quest...running-linux/

"
As might this Slackware thread https://www.linuxquestions.org/quest...ce-arm-935880/ , although they don't appear to have built it successfully.
"
 
Old 11-15-2017, 01:54 AM   #40
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
@Linux.tar.gz

Can you please change the title of this thread, now that your original issue seems to be resolved, and put a more generic title like Building LibreOffice on Slackware ARM. Maybe we'll get more Slackers interested/involved and get some documentation/instructions/Slack.Build done in the end.
Thanks!
 
Old 11-17-2017, 02:50 AM   #41
Linux.tar.gz
Senior Member
 
Registered: Dec 2003
Location: Paris
Distribution: Slackware forever.
Posts: 2,534

Original Poster
Rep: Reputation: 100Reputation: 100
Like the ones you've seen, there's already enough threads about building LO.

And the vpush error is the error the Slackware ARM users will encounter first, so they'll come here.

I didn't find the time yet to get into the code.
 
Old 03-30-2018, 02:15 PM   #42
ddougj
LQ Newbie
 
Registered: Jan 2018
Location: Savannah, Georgia
Distribution: Slackware
Posts: 2

Rep: Reputation: Disabled
Quote:
Originally Posted by abga View Post
@Linux.tar.gz

Can you please change the title of this thread, now that your original issue seems to be resolved, and put a more generic title like Building LibreOffice on Slackware ARM. Maybe we'll get more Slackers interested/involved and get some documentation/instructions/Slack.Build done in the end.
Thanks!
Quote:
Originally Posted by Linux.tar.gz View Post
Like the ones you've seen, there's already enough threads about building LO.

And the vpush error is the error the Slackware ARM users will encounter first, so they'll come here.
I'm new to Slackware and to building software in general. I can report that I've built a stripped-down version of LibreOffice 6.0.2 on my Raspberry Pi 3 running Slackware ARM 14.2.

I use LibreOffice almost exclusively for its Writer component, and in particular for working with DOCX files to which tracked changes have been applied. My build seems to offer such functionality just fine. To get the build to succeed, though, I had to strip out a lot of other functionality.

I used a modified version of the slackbuilds.org LibreOffice script. To satisfy the dependencies:

(1) I built OpenJDK 7 using Alien Bob's openjdk build script. I first built the (2) apache-ant and (3) rhino packages as prerequisite dependencies; I built both of them from Alien's scripts without changes. For the openjdk package, I changed the BOOTSTRAP variable to "YES", per the instructions in the script.

(4) I built perl-Archive-Zip per slackbuilds script, unchanged.

(5) I built Python 3 per slackbuilds script, unchanged.

(6) I built LibreOffice using modifications to the slackbuilds.org script. These modifications were based heavily on suggestions from the Linux from Scratch website and the description of "LibreOffice Vanilla for Mac" on the LibreOffice wiki.

Specifically, I edited the './configure' section of the script to read, in part, as follows:

--disable-odk
--disable-pdfium
--disable-firebird-sdbc
--disable-postresql-sdbc
--disable-gltf
--disable-collada
--disable-gstreamer-1-0
--disable-lpsolve
--disable-coinmp
--disable-online-update # not sure this is needed; disabled by default on Linux anyway?

Before doing any of these builds, I mounted a gigantic external hard drive as /tmp. (Again, I'm new to building software; I'm not sure if this is best practice, but it's what I did.) The LibreOffice build took about a day. I kept the Pi and the external hard drive on a wire rack to help with air flow ventilation.

Of the functionality I disabled for this build, the one I'm least happy about is pdfium, which (news to me) is the PDF rendering engine used in LibreOffice 6. I just couldn't get the build to complete as long as it was included. Furthermore, I can't see any evidence that anyone has ever successfully built pdfium on Slackware ARM. Perhaps someone more knowledgable than me can advise?

I'm still testing this LibreOffice build and will report back with any issues.
 
3 members found this post helpful.
Old 04-01-2018, 03:36 PM   #43
Linux.tar.gz
Senior Member
 
Registered: Dec 2003
Location: Paris
Distribution: Slackware forever.
Posts: 2,534

Original Poster
Rep: Reputation: 100Reputation: 100
Can you post the SlackBuild file you used please ?
 
Old 04-01-2018, 06:55 PM   #44
glorsplitz
Senior Member
 
Registered: Dec 2002
Distribution: slackware!
Posts: 1,308

Rep: Reputation: 368Reputation: 368Reputation: 368Reputation: 368
ddougj, now that's how to slack! keep it up
 
Old 04-11-2018, 10:52 AM   #45
ddougj
LQ Newbie
 
Registered: Jan 2018
Location: Savannah, Georgia
Distribution: Slackware
Posts: 2

Rep: Reputation: Disabled
Quote:
Originally Posted by Linux.tar.gz View Post
Can you post the SlackBuild file you used please ?
The only modifications I made to the LibreOffice script from slackbuilds.org were the ones I mentioned above. Here's the modified script in its entirety:

Code:
#!/bin/sh
#
# ex:set ai shiftwidth=4 inputtab=spaces smarttab noautotab:

# Slackware build script for LibreOffice

# Copyright 2015-2018 Christoph Willing Brisbane, Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PRGNAM=LibreOffice
SRCNAM=libreoffice
VERSION=${VERSION:-6.0.2.1}
SHORT_VERSION=${VERSION%.*.*}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PACKAGER=${PACKAGER:-"AnonymousCoward"}

HAVE_SRCS_TARBALL=${HAVE_SRCS_TARBALL:-1}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
cd $SRCNAM-$VERSION

if [ "$HAVE_SRCS_TARBALL" = "1" ]; then
  tar xvf $CWD/$SRCNAM-${VERSION}-srcs.tar.xz
fi

chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

# Options
avahi=""             ; [ "${AVAHI:-no}" != "no" ]      && avahi="--enable-avahi"
vlc=""               ; [ "${VLC:-no}" != "no" ]        && vlc="--enable-vlc"
kde4="--enable-kde4" ; [ "${KDE4:-yes}" != "yes" ]     && kde4="--disable-kde4"
LOLANGS=${LOLANGS:-"de es fr id it ja nl vi zh-CN"}
use_ccache="--disable-ccache" ; [ "${USE_CCACHE:-no}" != "no" ] && use_ccache=""

# By default, LibreOffice ignores MAKEFLAGS -j option and uses all available cpu cores.
parallel=""
# If MAKEFLAGS contains -j option, we extract its value to override the default.
jval="$(echo $MAKEFLAGS |grep -o "\-j *[0-9]*" | grep -o "[0-9]*")" || true
[ -n "$jval" ] && parallel="--with-parallelism=$jval"
# If PARALLEL environment variable is set, use that to override everything.
[ "${PARALLEL:-0}" != "0" ] && parallel="--with-parallelism=$PARALLEL"

JAVA=${JAVA:-openjdk}
if [ "$JAVA" = "openjdk" ]; then
  . /etc/profile.d/openjdk.sh
  use_java="--with-java=java"
elif [ "$JAVA" = "openjdk8" ]; then
  . /etc/profile.d/openjdk8.sh
  use_java="--with-java=java"
elif [ "$JAVA" = "jdk" ]; then
  . /etc/profile.d/jdk.sh
  use_java="--with-java=java"
elif [ "$JAVA" = "no" ]; then
  use_java="--with-java=no"
fi

./configure \
    CFLAGS="$SLKCFLAGS" \
    CXXFLAGS="$SLKCFLAGS" \
    NSS_CFLAGS="$(pkg-config --cflags-only-I mozilla-nss)"\
    --prefix=/usr   \
    --mandir=/usr/man \
    --docdir=/usr/doc/$PRGNAM-$VERSION \
    --libdir=/usr/lib$LIBDIRSUFFIX \
    --sysconfdir=/etc \
    --build=$ARCH-slackware-linux \
    --with-build-version="SlackBuild for $PRGNAM-$VERSION by $PACKAGER" \
    --with-vendor="Just Another Slacker" \
    --with-lang="$LOLANGS" \
    --enable-release-build=yes  \
    --enable-python="system" \
    --enable-gio \
    --enable-ext-mariadb-connector \
    --disable-odk \
    --disable-pdfium \
    --disable-firebird-sdbc \
    --disable-postgresql-sdbc \
    --disable-gltf \
    --disable-collada \
    --disable-gstreamer-1-0 \
    --disable-lpsolve \
    --disable-coinmp \
    --disable-online-update \
    $avahi \
    $vlc \
    $kde4 \
    $use_ccache \
    $use_java \
    $parallel \
    --with-x \
    --with-tls="nss" \
    --without-krb5 \
    --without-gssapi \
    --without-junit \
    --with-help \
    --with-system-boost \
    --with-system-cairo \
    --with-system-curl \
    --with-system-dicts \
    --with-system-expat \
    --with-system-hunspell \
    --with-system-icu \
    --with-system-jpeg \
    --with-system-lcms2 \
    --with-system-libpng \
    --with-system-librevenge \
    --with-system-libwpd \
    --with-system-libwpg \
    --with-system-libxml \
    --with-system-mariadb \
    --with-system-neon \
    --with-system-nss \
    --with-system-openssl \
    --with-system-poppler \
    --with-system-redland \
    --with-system-sane \
    --with-system-zlib \


#Create a srcs tarball if we don't already have one
chmod a+x bin/unpack-sources
if [ "$HAVE_SRCS_TARBALL" = "0" ]; then
  make fetch
  tar cvf - external/tarballs | xz -c > $CWD/$SRCNAM-$VERSION-srcs.tar.xz
  echo ; echo "Run build script again with HAVE_SRCS_TARBALL=1"
  exit 0
fi

patch -p0 < $CWD/no-check-if-root.diff

export LDFLAGS="-lboost_system"
make build-nocheck
make distro-pack-install DESTDIR=$PKG

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

# Prefer GTK2 toolkit
cd $PKG/usr/lib$LIBDIRSUFFIX/$SRCNAM/program
sed -i -e '/^#\ restore/i# Prefer GTK2\nexport SAL_USE_VCLPLUGIN=${SAL_USE_VCLPLUGIN:-gtk}\n' soffice
cd -

cd $PKG/usr/lib$LIBDIRSUFFIX
mv $SRCNAM  $SRCNAM-$VERSION
ln -s $SRCNAM-$VERSION $SRCNAM
cd -

for df in $PKG/usr/lib$LIBDIRSUFFIX/$SRCNAM-$VERSION/share/xdg/*.desktop ; do
    sed -i -e "s/libreofficedev$SHORT_VERSION/libreoffice/g" $df
done

PYSITEDIR=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
mkdir -p $PKG/$PYSITEDIR
cat <<EOF >$PKG/$PYSITEDIR/pyuno.pth
import sys; sys.path.insert(0,'/usr/lib$LIBDIRSUFFIX/libreoffice/program')
EOF
chmod 0644 $PKG/$PYSITEDIR/pyuno.pth

mkdir -p $PKG/etc/profile.d
sd_prog=/usr/lib$LIBDIRSUFFIX/libreoffice/program
cat <<EOF >$PKG/etc/profile.d/libreoffice.sh
export UNO_PATH=$sd_prog
export URE_BOOTSTRAP=vnd.sun.star.pathname:$sd_prog/fundamentalrc
export PATH=\${PATH}:$sd_prog
EOF
cat <<EOF >$PKG/etc/profile.d/libreoffice.csh
setenv UNO_PATH $sd_prog
setenv URE_BOOTSTRAP vnd.sun.star.pathname:$sd_prog/fundamentalrc
setenv PATH \${PATH}:$sd_prog
EOF
chmod 0755 $PKG/etc/profile.d/libreoffice.{csh,sh}

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING* README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
(I'm new here; not sure if it's bad form to post a whole script like this. Apologies if I'm in the wrong.)
 
2 members found this post helpful.
  


Reply



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
[SOLVED] Alien libreoffice SlackBuild Digest::MD5 problem Linux.tar.gz Slackware - ARM 4 10-28-2017 08:50 AM
[Alien's LO 5.2.5] Strange bug/annoyance in Alien's LibreOffice 5.2.5 sombragris Slackware 3 02-05-2017 09:39 AM
Alien Bob's Libreoffice 4.3.0.4 slackbuild AlleyTrotter Slackware 1 08-06-2014 04:53 PM
[SOLVED] LibreOffice-4.2.3 slackbuild error on new KDE integration split off frushiyama Slackware 2 04-22-2014 06:03 PM

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

All times are GMT -5. The time now is 06:54 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
Open Source Consulting | Domain Registration