Dear All, just to close this thread: all major branches (AOO41X, AOO42X and trunk) should now build with GCC 11.
For Linux users: this includes Ubuntu 22.04 LTS. Best regards. On Wed, Jan 17, 2024 at 08:08:05AM +0100, Arrigo Marchiori wrote: > Dear All, > > On Tue, Aug 01, 2023 at 11:57:09AM +0200, Peter Kovacs wrote: > > > hello Don, > > > > were you able to look into this, or the freeBsd volunteer. > > > > I can try to put together a report for gcc if you still like that to be > > done. > > If you can carve out the necessary bits, and only them, and reproduce > the problem, then it would be great IMHO. > > Don, do we know if clang compiles correctly? > > For what it's worth, I tried to work around this bug in this PR for AOO41X: > https://github.com/apache/openoffice/pull/198 > > > Am 01.04.23 um 20:12 schrieb Arrigo Marchiori: > > > Hello Don, All, > > > > > > On Wed, Mar 29, 2023 at 11:58:06PM -0700, Don Lewis wrote: > > > > > > > A FreeBSD user is trying to unbreak the ppc64 build and ran into an > > > > issue with the sot module. I dig into it pretty deeply and it looks to > > > > me like a gcc bug. It's reproducable in amd64. It seems to affect > > > > gcc10, gcc11, and gcc12 builds. The build failure does not happen with > > > > gcc9. > > > > > > > > It is not limited to FreeBSD. I get the same failure on Debian > > > > bullseye: > > > > cc --version > > > > cc (Debian 10.2.1-6) 10.2.1 20210110 > > > > Copyright (C) 2020 Free Software Foundation, Inc. > > > > This is free software; see the source for copying conditions. There is > > > > NO > > > > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > > > > PURPOSE. > > > > > > > > [ build LNK ] Library/libsot.so > > > > /usr/bin/ld: > > > > /home/dl/aoo/openoffice/main/solver/4111/unxlngx6.pro/workdir/CxxObject/sot/source/sdstor/ucbstorage.o: > > > > in function `UCBStorage_Impl::Init()': > > > > ucbstorage.cxx:(.text+0x72b4): undefined reference to `non-virtual > > > > thunk to > > > > cppu::WeakImplHelper1<com::sun::star::io::XInputStream>::acquire()' > > > > collect2: error: ld returned 1 exit status > > > > > > > > > > > > The problem appears to be that gcc is getting confused when compiling > > > > line 1884 of ucbstorage.cxx. It ends up trying to call the thunk to the > > > > acquire() method of a non-existent class. That thunk isn't defined, so > > > > the linker bombs on the undefined symbol. > > > I reproduced it with OpenSUSE Linux Leap 15.4, using the provided gcc-10. > > > > > > However, the problem seems to be at line 1879: > > > > > > > > com::sun::star::uno::Reference < ::com::sun::star::io::XInputStream > > > > > > xInputStream( pHelper ); > > > It seems to compile if we split it as follows: > > > > > > > > com::sun::star::uno::Reference < ::com::sun::star::io::XInputStream > > > > > > xInputStream; > > > > > xInputStream = pHelper; > > > This _should_ work as it is how method > > > Reference<XInputStream> UCBStorageStream_Impl::GetXInputStream() > > > does: it returns an instance of Reference<XInputStream> on which > > > it calls calls operator= with a OInputStreamWrapper > > > > > > I have no idea how to test this, though. > > > > > > Can you please verify if the above restores compilation? > > > > > > Best regards, -- Arrigo --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org