Re: Bug#1121530: libreoffice: Please build with -fPIE on sparc64 to fix FTBFS

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.debian.devel.openoffice,gmane.linux.debian.ports.sparc
Message-ID <747427a0fcec130025b026fcfc10add5adc2d1b3.camel@physik.fu-berlin.de>
Hi Jan,

On Fri, 2025-11-28 at 00:17 +0100, Jan Engelhardt wrote:
> On Thursday 2025-11-27 22:13, John Paul Adrian Glaubitz wrote:
> > --- debian/rules.orig   2025-11-08 21:28:26.000000000 +0100
> > +++ debian/rules        2025-11-27 22:11:18.063514133 +0100
> > @@ -1146,6 +1146,11 @@
> >        DEB_CXXFLAGS_MAINT_APPEND = -ffp-contract=off
> > endif
> > 
> > +ifneq (,$(filter sparc64,$(DEB_HOST_ARCH)))
> > +       DEB_CFLAGS_MAINT_APPEND = -fPIE
> > +       DEB_CXXFLAGS_MAINT_APPEND = -fPIE
> > +endif
> 
> If all you have a "hammer" (e.g. `./configure CFLAGS=-fPIC`), that CFLAGS
> variable may be used by the software project for both executables and shared
> libraries.
> 
> It is possible for the build to fail, since PIE is not meant to
> be used when building shared libraries.
> 
> If that happens, you have to switch from PIE to PIC (that latter is more
> general).
> 
> On the other hand, if the software project uses libtool, you are in good hands:
> libtool forces -fPIC on shared libs anyway and transparently strips any
> conflicting -fPIE internally (it also eats the small model -fpic/-fpie
> in favor of -fPIC).

Yeah, you seem to be correct with your analysis as the -fPIE didn't help and the
error still occurs:

../shared/commonlib.c: In function 'timeNow':
../shared/commonlib.c:705:3: warning: 'ftime' is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
  705 |   ftime(&buf);
      |   ^~~~~
In file included from ../shared/commonlib.c:7:
/usr/include/sparc64-linux-gnu/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
lp_MDO.o: in function `getMDO':
lp_MDO.c:(.text+0x6f4): relocation truncated to fit: R_SPARC_GOT13 against symbol `mdo_free' defined in .text section in lp_MDO.o
lp_MDO.c:(.text+0x6fc): relocation truncated to fit: R_SPARC_GOT13 against symbol `mdo_calloc' defined in .text section in lp_MDO.o
mmio.o: in function `mm_read_mtx_crd':
mmio.c:(.text+0x938): relocation truncated to fit: R_SPARC_GOT13 against symbol `stdin@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.c:(.text+0x9f8): relocation truncated to fit: R_SPARC_GOT13 against symbol `stdin@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.c:(.text+0xa7c): relocation truncated to fit: R_SPARC_GOT13 against symbol `stdin@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.o: in function `mm_read_unsymmetric_sparse':
mmio.c:(.text+0xce8): relocation truncated to fit: R_SPARC_GOT13 against symbol `stderr@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.c:(.text+0xd24): relocation truncated to fit: R_SPARC_GOT13 against symbol `stderr@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.o: in function `mm_write_mtx_crd':
mmio.c:(.text+0xdd0): relocation truncated to fit: R_SPARC_GOT13 against symbol `stdout@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
mmio.c:(.text+0xf44): relocation truncated to fit: R_SPARC_GOT13 against symbol `stdout@@GLIBC_2.2' defined in .data section in /lib/sparc64-linux-gnu/libc.so.6
myblas.o: in function `is_nativeBLAS':
myblas.c:(.text+0x7a0): relocation truncated to fit: R_SPARC_GOT13 against symbol `hBLAS' defined in .bss section in myblas.o
myblas.o: in function `load_BLAS':
myblas.c:(.text+0x7c0): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status
make: *** [/home/glaubitz/loffice/libreoffice-26.2.0~alpha1/external/lpsolve/ExternalProject_lpsolve.mk:27: /home/glaubitz/loffice/libreoffice-26.2.0~alpha1/workdir/ExternalProject/lpsolve/build]
Error 1

So, I'll have to dig deeper in the build system where I need to pass -fPIE.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.