<div dir="ltr"><div dir="ltr">
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">Well, thanks to the support of all of you and some figuring on my
own, I was finally able to compile LibreOffice 24.2 for Linux 32-bit.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">Let me
write about exactly what I did, as it may be helpful for others who
want to compile 24.x on a Debian 12 base.</span><br></p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent"><br></span></p><p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">The
source code used is the .tar.xz files available from the official
download section of LibreOffice.</span><br></p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">My
initial autogen.input</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-parallelism=16</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-distro=LibreOfficeLinux</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-lang=es</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-myspell-dicts</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--enable-release-build</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-package-format=deb</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--disable-dependency-tracking</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-jdk-home=/usr/lib/jvm/java-17-openjdk-i386/</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-privacy-policy-url=NO-URL</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">Running
'make' alone fails because all warnings are treated as errors, so I
added the following parameters</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make
CFLAGS="-Wno-error" CXXFLAGS="-Wno-error -g1"</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">However,
it still stops with the following error:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">CoinFinite.cpp:
In function 'bool CoinFinite(double)':</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">CoinFinite.cpp:38:19:
error: 'DBL_MAX' was not declared in this scope</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 38 |
return val != DBL_MAX && val != -DBL_MAX;</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> |
^~~~~~~</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">CoinFinite.cpp:8:1:
note: 'DBL_MAX' is defined in header '<cfloat>'; did you forget
to '#include <cfloat>'?</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 7 |
#include "CoinUtilsConfig.h"</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> +++
|+#include <cfloat></p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 8 |</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[5]:
*** [Makefile:675: CoinFinite.lo] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">By
looking at
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/coinmp/CoinUtils/src/CoinFinite.cpp,
it cannot find "cfloat", so I added "#include
<cfloat>" at the first line.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">Then a
new problem appeared.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">css_types.cpp:9:10:
fatal error: mdds/sorted_string_map.hpp: No such file or directory</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 9 |
#include <mdds/sorted_string_map.hpp></p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">compilation
terminated.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[5]:
*** [Makefile:1289: css_types.lo] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[4]:
*** [Makefile:2356: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[3]:
*** [Makefile:1466: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[2]:
*** [Makefile:1375: all] Error 2</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[1]:
***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/liborcus/ExternalProject_liborcus.mk:85:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/liborcus/build]
Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[1]:
*** Waiting for unfinished jobs....</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">The
css_types.cpp file requires mdds/sorted_string_map.hpp, but there is
no mdds folder under this file! So,</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">mkdir
mdds</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">cp -r
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/mdds/include/*
.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">I ran
again ‘make’ with the already mentioned parameters. New error:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">measurement.cpp:12:10:
fatal error: mdds/sorted_string_map.hpp: No such file or directory</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 12 |
#include <mdds/sorted_string_map.hpp></p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">compilation
terminated.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[5]:
*** [Makefile:2102: liborcus_0.18_la-measurement.lo] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[4]:
*** [Makefile:2356: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[3]:
*** [Makefile:1466: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[2]:
*** [Makefile:1375: all] Error 2</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[1]:
***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/liborcus/ExternalProject_liborcus.mk:85:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/liborcus/build]
Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[1]:
*** Waiting for unfinished jobs....</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">So I
copied the newly created mdds folder to liborcus with</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">cp -r
mdds/
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/liborcus/src/liborcus/</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">After
this, a new error appears after running make:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">ClpHelperFunctions.hpp:16:4:
error: #error "don't have header file for math"</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 16 |
# error "don't have header file for math"</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> |
^~~~~</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[5]:
*** [Makefile:931: ClpCholeskyBase.lo] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[4]:
*** [Makefile:693: all] Error 2</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[3]:
*** [Makefile:519: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[2]:
*** [Makefile:234: all-recursive] Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">make[1]:
***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/coinmp/ExternalProject_coinmp.mk:31:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/coinmp/build]
Error 1</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">And
appeared a lot of errors that look like:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">rdf_model.c:1891:17:
error: invalid use of incomplete typedef 'librdf_model' {aka 'struct
librdf_model_s'}</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 1891 |
return model->factory->transaction_get_handle(model);</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">rdfinit.c:162:10:
error: invalid use of incomplete typedef 'librdf_world' {aka 'struct
librdf_world_s'}</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 162 |
world->genid_base = 1;</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-----</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">Now I
installed librdf0-dev and its dependencies, and added the following
lines to autogen.input:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--with-system-redland</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">--disable-coinmp</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">Ran
autogen.sh and make with the already mentioned parameters and…
success!, even though in the process there were a lot of daunting
warnings like this one:</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">58:
warning: argument 1 value ‘4294967295’ exceeds maximum object
size 2147483647 [-Walloc-size-larger-than=]</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"> 322 |
pShapes.reset(new SwAccessibleObjShape_Impl[rSize]);</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">-------</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent">I'm not
sure if adding --disable-coinmp was a good idea (I don't even know
what it's for!), but the resulting binaries seem to work fine. Just
in case, I removed --disable-coinmp and added --with-system-coinmp to
autogen.input. Then I installed coinor-libcoinmp-dev and its
dependencies. Ran autogen.sh and make again. Compilation was also
successful.</p>
<p lang="en-US" style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El vie, 9 feb 2024 a las 17:53, Escuelas Linux (<<a href="mailto:escuelaslinux@gmail.com">escuelaslinux@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">Thanks to Dan Horák
and Rene Engelhard for their answers!</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">Dan said:</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent"><br></span></p><p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">-"</span>Because 32-bit<span style="background-color:transparent">
system means max 4GB address space for a process and ld runs as a
single process".</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent"><br></span></p><p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">I installed a PAE
kernel, so it can effectively use more than 4 GB.</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-"You can try
disabling or reducing the size of debuginfo to reduce the size of the
*.o files if it's used, you can disable LTO and there are some
options for ld to reduce its memory usage a bit".</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">I tried several
permutations to reduce the amount of memory used. One of them was to
reduce the number of processors in my autogen.input:</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-parallelism=1</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">Another one was to
add this parameter when running make:</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">make
LDFLAGS="-Wl,--reduce-memory-overheads"</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">I also increased the
available memory on the VM from 12 to 15 GB. But no results, always
got the exhausted memory message.</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">I also tried several
other possible solutions, but it feels like going on a wild goose
chase without knowing exactly what to do, relying on some general
random advices found on the web.</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-------------</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">Rene said:</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-"Debian still
ships LibreOffice on 32bit archs, as do other distributions."</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">Oh! Thanks for the
tip! I was not aware that Debian even has binary LibreOffice 24.2
32-bit packages, albeit in the unstable branch.</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">I was even able to
build LibreOffice from source:</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">apt-get --build
source libreoffice</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">This proves to me
that the LibreOffice source code has not dropped 32-bit support, but
I still don't know why my own compilation attempts always failed with
a memory exhausted message, even with the same VM configuration.</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">Would it be possible
for me to just use the Debian LibreOffice 24.2 binaries or its source
packages? Not quite, as they also have a lot of dependencies on
packages that are only available in the unstable branch, so they
would not be suitable for a distribution intended for a stable Debian
12 bookworm base.</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-"I do -g1 in
Debian. LTO works".</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">Where should I add
the -g1 parameter?</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-"make check
fails. I do a minimal set (testtools bridgetest, smoketest, sal, the
other public libraries) to at least not get something fundamentally
broken".</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">My autogen.input
file is:</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-parallelism=16</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-distro=LibreOfficeLinux</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-lang=es</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-myspell-dicts</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--enable-release-build</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-package-format=deb</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--disable-dependency-tracking</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-jdk-home=/usr/lib/jvm/java-11-openjdk-i386/</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">--with-privacy-policy-url=NO-URL</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">-"And somehow
the testtools bridgetest fails when building with gcc >= 13, 12
works. Haven't found a solution yet.)"</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent"><br></span></p><p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">I'm using gcc 13!
Maybe this could be the cause of my compilation failures?</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><span style="background-color:transparent">I'll make some more
attempts to compile LibreOffice 32-bit now using gcc 12, any
additional ideas or suggestions would be more than welcome.</span><br></p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent"><br>
</p>
<p style="line-height:100%;margin-bottom:0cm;background:transparent">Thanks again.</p></div>
</blockquote></div>