Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


On 21/03/2019 23:11, David Rohr wrote:
During compilation on gentoo linux 64 bit with GCC 8.3 of libreoffice
6.2.1.2 I get the following error:

mailconfigpage.cxx:(.text+0x3171): undefined reference to `non-virtual
thunk to
cppu::PartialWeakComponentImplHelper<com::sun::star::mail::XConnectionListener>::acquire()'

I can fix this by appending
template class
cppu::PartialWeakComponentImplHelper<com::sun::star::mail::XConnectionListener>;
at the end of mailconfigpage.cxx

I filed a bug report here
(https://bugs.documentfoundation.org/show_bug.cgi?id=124225) but was
asked to write to the mailing list instead.

This looks like a compiler bug. Any such thunks should be emitted weakly in mailconfigpage.o. (What complicates things is that there can be thunks for that virtual function with different offsets, and while the offsets are encoded in the mangled symbol names, the demangled version is just "non-virtual thunk to ..." without a mention of the offset, and ld unhelpfully only reports the demangled name.) For example, in my Linux x86-64 build, I have

$ nm workdir/CxxObject/sw/source/ui/config/mailconfigpage.o | grep 
'_ZThn.*_N4cppu30PartialWeakComponentImplHelperIJN3com3sun4star4mail19XConnectionListenerEEE7acquireEv'
0000000000000000 W 
_ZThn32_N4cppu30PartialWeakComponentImplHelperIJN3com3sun4star4mail19XConnectionListenerEEE7acquireEv
0000000000000000 W 
_ZThn72_N4cppu30PartialWeakComponentImplHelperIJN3com3sun4star4mail19XConnectionListenerEEE7acquireEv
0000000000000000 W 
_ZThn80_N4cppu30PartialWeakComponentImplHelperIJN3com3sun4star4mail19XConnectionListenerEEE7acquireEv

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.