Q: How to recompile LibreOffice from experimental on Buster

Need help with C, C++, perl, python, etc?

Q: How to recompile LibreOffice from experimental on Buster

Postby macguru » 2021-02-15 20:35

Hi!

I'm trying to recompile LibreOffice 7.1.1 from experimental on Buster ARM64 / Raspberry Pi.
The last available version on Buster is 7.04 from backports, yet I need 7.1.1 which has some useful additions like ScriptForge.
LibreOffice 7.1.1 from experimental compiled with dependency on Python 3.9 and a large number of other libs more recent version than those available in Buster.
I edited the file
Code: Select all
/src/debian/libreoffice-7.1.1~rc1/debian/control

fields Build-Depends, Build-Depends, Build-Depends with values from 7.04.
However, invoking
Code: Select all
sudo apt-get build-dep libreoffice
still shows unmet dependencies with no regard I made in "control".

How to fix that?
Thanks in advance.

PS. May be LibreOffice 7.1.1 ARM64/RaspberryPi debs (for Buster) are available from any repository I'm not aware of? Deadsnakes PPA doesn't have them.
macguru
 
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby craigevil » 2021-02-15 23:40

Assuming experimental has a deb-src repos, follow the advice in this thread.
viewtopic.php?f=16&t=38976


Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.

BTW the best place to ask about Rsapberry PI is the official PI forums: https://www.raspberrypi.org/forums/
Raspberry PI 400 Distro: Raspberry Pi OS 10 (buster) Kernel: 5.10.17-v8+ aarch64 DE:LXDE Ram 4GB
Debian - "If you can't apt-get something, it isn't useful or doesn't exist"
User avatar
craigevil
 
Posts: 5198
Joined: 2006-09-17 03:17
Location: Oz

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby stevepusser » 2021-02-16 19:01

I've only backported LO for MX a few times, but I had to either add source tarballs to the debian/tarballs or orig source tarballs that are system libraries in upstream Debian, and then figure out how to set the build system to use those tarballs instead of the system libraries.

Anyway, it's not a trivial backport, plus if you cross-compile the build on an x86 install, there's about a 10X performance hit, so it might take fifty hours straight instead of five. Note that I do MX Linux's armhf chromium backports in the cloud on the OBS, because though it takes 98,500 seconds to do so, at least it's not on my machine: https://build.opensuse.org/package/live ... _10/armv7l
MX Linux packager and developer
User avatar
stevepusser
 
Posts: 12233
Joined: 2009-10-06 05:53

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby macguru » 2021-02-16 20:07

craigevil wrote:Assuming experimental has a deb-src repos, follow the advice in this thread.
viewtopic.php?f=16&t=38976


Thanks for the help! Unfortunately, the article by this link doesn't explain how why editing Build-Depends in "debian/control" file has no effect on these dependencies. It should be something simple I'm missing there.

craigevil wrote:Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.


I had issues with Flatpak build in the past with my custom Python scripts invoked from LibreOffice.

craigevil wrote:BTW the best place to ask about Rsapberry PI is the official PI forums: https://www.raspberrypi.org/forums/


Nope, there are much more Debian developers on this forum.
macguru
 
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby macguru » 2021-02-16 20:10

stevepusser wrote:Anyway, it's not a trivial backport, plus if you cross-compile the build on an x86 install, there's about a 10X performance hit, so it might take fifty hours straight instead of five. Note that I do MX Linux's armhf chromium backports in the cloud on the OBS, because though it takes 98,500 seconds to do so, at least it's not on my machine: https://build.opensuse.org/package/live ... _10/armv7l


Oh, I already noticed that :-) Time is not an issue, I can leave Raspberry Pi run 24/7 for a whole week, or cross-compile on our servers.
macguru
 
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby stevepusser » 2021-02-16 20:30

macguru wrote:
craigevil wrote:Assuming experimental has a deb-src repos, follow the advice in this thread.
viewtopic.php?f=16&t=38976


Thanks for the help! Unfortunately, the article by this link doesn't explain how why editing Build-Depends in "debian/control" file has no effect on these dependencies. It should be something simple I'm missing there.




The build-depends in debian/control get regenerated, depending on what distro is on the top stanza of debian/changelog. Use "buster-backports" for your backport instead of "unstable", but I think you'll still be missing some tarballs. You might try getting those from the 7.0.4 in buster-backports at the moment, or backporting the build-depends that aren't in Buster first.
MX Linux packager and developer
User avatar
stevepusser
 
Posts: 12233
Joined: 2009-10-06 05:53

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby macguru » 2021-02-16 20:44

craigevil wrote:Edit: Flahub/Flatpak has LibreOffice 7.1.0.3. https://flathub.org/apps/details/org.li ... ibreOffice
It runs just fine on my PI 400 running the 64bit OS.


Just tried. Flatpak apps run in a sandboxed environment, and therefore, all python modules and scripts I have in host OS are not accessible. Even JRE is "flapacked" in this LO install.
macguru
 
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby macguru » 2021-02-16 20:50

stevepusser wrote:The build-depends in debian/control get regenerated, depending on what distro is on the top stanza of debian/changelog. Use "buster-backports" for your backport instead of "unstable", but I think you'll still be missing some tarballs. You might try getting those from the 7.0.4 in buster-backports at the moment or backporting the build-depends that aren't in Buster first.


OK, what is the original source of "debian/control -> Build-Depends", where this info is taken from when invoking "build-dep"?
macguru
 
Posts: 12
Joined: 2018-09-13 18:09

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby stevepusser » 2021-02-17 18:54

Oh, jeesh, this is getting to be a real time sink. First, you should see what the last buster-backports build had to do, since you'll no doubt have to repeat it:

Code: Select all
libreoffice (1:7.0.4~rc2-1~bpo10+2) buster-backports; urgency=medium

  * actually include the tarballs...

 -- Rene Engelhard <rene@debian.org>  Fri, 18 Dec 2020 16:16:02 +0100

libreoffice (1:7.0.4~rc2-1~bpo10+1) buster-backports; urgency=medium

  * Rebuild for buster-backports.

  * debian/source/include-binaries:
    - include tarballs/libmwaw-0.3.16.tar.xz
    - include tarballs/mdds-1.6.0.tar.bz2
    - include tarballs/liborcus-0.16.1.tar.bz2
    - include tarballs/xmlsec1-1.2.30.tar.gz
    - include tarballs/libnumbertext-1.0.6.tar.xz
  * debian/rules:
    - revert clang (>= 1:11) build-dep for buster-backports; doesn't exist in
      buster and we resort back to gcc


I'm pretty sure those tarballs go in the /tarballs folder in the extracted source. Take a look in yours to see if you have those, and add those if missing as I suspect they are. Get the buster-backports debianized sources, extract them, get the missing tarballs, put them in /tarballs, and list them in debian/source/include-binaries so the build system accepts them.

As for what regenerates the control file, it's in the rules file, and it acts upon debian/control.in.

Code: Select all
#############
# Distro-specific overrides

# Debian Buster
ifeq "$(DEB_DISTRIBUTION)" "buster-backports"
  BUGS=mailto:debian-backports@lists.debian.org
  SYSTEM_STUFF := $(filter-out libmwaw xmlsec mdds orcus libnumbertext,$(SYSTEM_STUFF))
  USE_DWZ := n
  BUSTER_BACKPORT=y
endif


I actually backported all the SYSTEM_STUFF for MX Linux before I figured out how the system worked, so now I have a choice whether to use those or the tarballs, if I had the time to try another backport for MX. I also have dwz backports, so I could change that to "y" if desired...but you don't, so don't change it. What you can do is add your new stanza to the top of debian/changelog, use "buster-backports" for the distribution, then instead of the build command, regenerate the source files with (you have devscripts installed, right?)

Code: Select all
debuild -S -uc -us -d && cd .. &&rm -f *.buildinfo *.changes *.build && exit


Then take a look to see how the build-depends came out.
MX Linux packager and developer
User avatar
stevepusser
 
Posts: 12233
Joined: 2009-10-06 05:53

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby stevepusser » 2021-02-17 22:30

Well, I was looking at the 7.0.4-3 in Sid. Experimental's 7.1.1 doesn't even have the backports support framework in it yet, and also needs a newer dpkg-dev than Buster has, making it even more complicated! I don't have all day to hack away at it... :(
MX Linux packager and developer
User avatar
stevepusser
 
Posts: 12233
Joined: 2009-10-06 05:53

Re: Q: How to recompile LibreOffice from experimental on Bus

Postby stevepusser » 2021-02-17 23:29

I haven't tried any arm libreoffice builds yet on the OBS---let's see what happens if I do with the Bullseye 7.0.4 version, after adding the sources for the buster-backports dwz for that repo: https://build.opensuse.org/package/show ... ibreoffice
MX Linux packager and developer
User avatar
stevepusser
 
Posts: 12233
Joined: 2009-10-06 05:53


Return to Programming

Who is online

Users browsing this forum: No registered users and 3 guests

fashionable