https://bugs.documentfoundation.org/show_bug.cgi?id=78174

Michael Stahl <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |NEW
                 CC|                            |[email protected]
         Resolution|INVALID                     |---
            Summary|Build failure: undefined    |Build failure: undefined
                   |reference to acquire        |reference to `non-virtual
                   |                            |thunk to
                   |                            |WindowListenerMultiplexer::
                   |                            |acquire()' etc. in
                   |                            |svx/source/fmcomp/fmgridif.
                   |                            |cxx

--- Comment #11 from Michael Stahl <[email protected]> ---
for whatever reason i've got this error too now, after switching
from --eable-dbgutil to --enable-symbols, in a 32-bit build

gcc (GCC) 4.9.2 20141101 (Red Hat 4.9.2-1)

> nm --demangle workdir/CxxObject/toolkit/source/helper/listenermultiplexer.o | 
> grep \\bWindowListenerMultiplexer::acquire
00000000 W WindowListenerMultiplexer::acquire()
00000009 W non-virtual thunk to WindowListenerMultiplexer::acquire()

> nm --demangle instdir/program/libtklo.so | grep 
> \\bWindowListenerMultiplexer::acquire
00181956 t WindowListenerMultiplexer::acquire()
0018195f t non-virtual thunk to WindowListenerMultiplexer::acquire()

this is the same on the working and non-working builds:
weak symbol that is not exported from the .so

the non-working build has an undefined symbol in fmgridif.o:

> nm --demangle workdir/CxxObject/svx/source/fmcomp/fmgridif.o | grep 
> \\bWindowListenerMultiplexer::acquire
         U non-virtual thunk to WindowListenerMultiplexer::acquire()

while the working one does not mention the class at all:

> nm --demangle workdir/CxxObject/svx/source/fmcomp/fmgridif.o | grep 
> WindowListenerMultiplexer


the problem happens in FmXGridControl::createPeer(),
where essentially Reference are constructed that call acquire()/release():

                pPeer->addWindowListener( &maWindowListeners );


i've got a work-around (out-line the acquire/release functions)
that i'll push later today.

it looks like what makes this fail is the -Os optimization level,
with -O2 we get weak symbols in fmgridif.o.  since this builds fine
in Fedora 21 probably the rpm foo overrides the default opt. flags there.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to