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