Bug 78174 - Build failure: undefined reference to `non-virtual thunk to WindowListenerMultiplexer::acquire()' etc. in svx/source/fmcomp/fmgridif.cxx
Summary: Build failure: undefined reference to `non-virtual thunk to WindowListenerMul...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
Version:
(earliest affected)
4.2.3.3 release
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Michael Stahl (CIB)
URL:
Whiteboard: target:4.5.0 target:4.4.2 target:4.3.7
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-02 06:36 UTC by Jürg Billeter
Modified: 2015-02-17 14:15 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jürg Billeter 2014-05-02 06:36:52 UTC
The build of libreoffice 4.2.3.3 fails here in a clean build environment on Linux x86-32 with gcc 4.9.0. However, the build succeeds on an otherwise identical x86-64 system, and it also succeeds with gcc 4.8.2 (on x86-32 and x86-64).

The same errors appear in two places (svx and dbaccess), both times referring to classes from toolkit/source/helper/listenermultiplexer.cxx, which compiled fine without warnings.

/src/libreoffice-4.2.3.3/workdir/CxxObject/svx/source/fmcomp/fmgridif.o: In function `FmXGridControl::createPeer(com::sun::star::uno::Reference<com::sun::star::awt::XToolkit> const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindowPeer> const&)':
fmgridif.cxx:(.text+0x7f5a): undefined reference to `non-virtual thunk to WindowListenerMultiplexer::acquire()'
fmgridif.cxx:(.text+0x7fb5): undefined reference to `non-virtual thunk to FocusListenerMultiplexer::acquire()'
fmgridif.cxx:(.text+0x8010): undefined reference to `non-virtual thunk to KeyListenerMultiplexer::acquire()'
fmgridif.cxx:(.text+0x806b): undefined reference to `non-virtual thunk to MouseListenerMultiplexer::acquire()'
fmgridif.cxx:(.text+0x80c6): undefined reference to `non-virtual thunk to MouseMotionListenerMultiplexer::acquire()'
fmgridif.cxx:(.text+0x8121): undefined reference to `non-virtual thunk to PaintListenerMultiplexer::acquire()'
collect2: error: ld returned 1 exit status
/src/libreoffice-4.2.3.3/svx/Library_svxcore.mk:20: recipe for target '/src/libreoffice-4.2.3.3/instdir/program/libsvxcorelo.so' failed
make[1]: *** [/src/libreoffice-4.2.3.3/instdir/program/libsvxcorelo.so] Error 1

/src/libreoffice-4.2.3.3/workdir/CxxObject/dbaccess/source/ui/uno/ColumnControl.o: In function `.L362':
ColumnControl.cxx:(.text+0x1588): undefined reference to `non-virtual thunk to WindowListenerMultiplexer::acquire()'
ColumnControl.cxx:(.text+0x15d6): undefined reference to `non-virtual thunk to FocusListenerMultiplexer::acquire()'
ColumnControl.cxx:(.text+0x1624): undefined reference to `non-virtual thunk to KeyListenerMultiplexer::acquire()'
ColumnControl.cxx:(.text+0x1672): undefined reference to `non-virtual thunk to MouseListenerMultiplexer::acquire()'
ColumnControl.cxx:(.text+0x16c0): undefined reference to `non-virtual thunk to MouseMotionListenerMultiplexer::acquire()'
ColumnControl.cxx:(.text+0x170e): undefined reference to `non-virtual thunk to PaintListenerMultiplexer::acquire()'
collect2: error: ld returned 1 exit status
/src/libreoffice-4.2.3.3/dbaccess/Library_dbu.mk:10: recipe for target '/src/libreoffice-4.2.3.3/instdir/program/libdbulo.so' failed
make[1]: *** [/src/libreoffice-4.2.3.3/instdir/program/libdbulo.so] Error 1

Configure options:
--disable-epm  --disable-extra-font  --disable-fetch-external  --disable-gnome-vfs  --disable-kde  --disable-kdeab  --with-system-npapi-headers=no  --disable-online-update  --disable-postgresql-sdbc  --disable-systray  --enable-dbus  --enable-evolution2  --enable-gio  --enable-graphite  --enable-gstreamer --disable-gstreamer-0-10  --enable-lockdown  --enable-python=system  --enable-release-build  --enable-vba  --enable-hardlink-deliver --with-external-dict-dir=/usr/share/hunspell  --with-external-hyph-dir=/usr/share/hyphen  --with-external-thes-dir=/usr/share/mythes  --with-lang="en-US de fr it es"  --with-system-nss  --without-afms  --without-fonts  --without-java  --without-myspell-dicts  --without-ppds  --without-system-beanshell  --without-system-hsqldb  --with-system-cairo  --with-system-clucene  --with-system-ucpp  --with-system-dicts  --with-system-headers  --with-system-libs  --with-system-mythes
Comment 1 famobr 2014-06-17 13:32:30 UTC
I have similar problem, but also for newer version:

libreoffice-4.2.4.2

Linux i686 with gcc 4.9.0.

Configuration, from the log (sorry about a possible long lines, didn't want to make a mistake):
Running ./configure with '--prefix=/opt/libreoffice-4.2.4.2' '--sysconfdir=/etc/' '--enable-crashdump' '--enable-epm' '--enable-gstreamer' '--enable-gtk3' '--enable-release-build' '--enable-python=system' '--enable-split-app-modules' '--enable-vlc' '--enable-verbose' '--disable-gnome-vfs' '--disable-gconf' '--disable-kde' '--disable-kde4' '--disable-odk' '--disable-postgresql-sdbc' '--disable-systray' '--with-alloc=system' '--with-system-boost' '--with-system-clucene' '--with-system-cairo' '--with-system-curl' '--with-system-expat' '--with-system-graphite' '--with-system-harfbuzz' '--with-system-icu' '--with-system-jpeg' '--with-system-lcms2' '--with-system-libatomic_ops' '--with-system-libpng' '--with-system-libxml' '--with-system-mesa-headers' '--with-system-neon' '--with-system-npapi-headers' '--with-system-nss' '--with-system-odbc' '--with-system-openldap' '--with-system-openssl' '--with-system-poppler' '--with-system-redland' '--with-system-zlib' '--with-build-version=4.2.4.2' '--with-lang=pt-BR en-US' '--with-help' '--with-alloc=system' '--with-parallelism=1' '--with-package-format=native' '--with-vendor=LFS-BLFS' '--without-java' '--without-krb5' '--without-system-dicts' '--without-gssapi' '--srcdir=/home/fernando/tmp/paco-build-libreoffice-2014.06.16-22h16m48s/libreoffice-4.2.4.2' '--enable-option-checking=fatal'


Commands just before the error:

build DEP] LNK:Library/libsvxcorelo.so
[build LNK] Library/libsvxcorelo.so
S=/home/fernando/tmp/paco-build-libreoffice-2014.06.16-22h16m48s/libreoffice-4.2.4.2 && I=$S/instdir && W=$S/workdir &&  mkdir -p $W/Dep/LinkTarget/Library/ && RESPONSEFILE=/tmp/gbuild.x6b8nx && LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"$I/ure/lib:$I/program"   $W/LinkTarget/Executable/concat-deps ${RESPONSEFILE} > $W/Dep/LinkTarget/Library/libsvxcorelo.so.d && rm -f ${RESPONSEFILE}
S=/home/fernando/tmp/paco-build-libreoffice-2014.06.16-22h16m48s/libreoffice-4.2.4.2 && I=$S/instdir && W=$S/workdir &&  g++ -shared -Wl,-z,noexecstack   -Wl,-z,origin '-Wl,-rpath,$ORIGIN:$ORIGIN/../ure-link/lib' -Wl,-rpath-link,$I/ure/lib -Wl,-rpath-link,$I/program -Wl,-z,defs  -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc   -Wl,--hash-style=gnu  -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,-Bsymbolic-functions  -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib  -L$I/ure/lib  -L$I/program -Wl,-O1 -Wl,-S  $W/CxxObject/svx/source/core/coreservices.o $W/CxxObject/svx/source/core/extedit.o $W/CxxObject/svx/source/core/graphichelper.o $W/CxxObject/svx/source/customshapes/EnhancedCustomShape2d.o $W/CxxObject/svx/source/customshapes/EnhancedCustomShapeFunctionParser.o $W/CxxObject/svx/source/customshapes/EnhancedCustomShapeGeometry.o $W/CxxObject/svx/source/customshapes/EnhancedCustomShapeTypeNames.o $W/CxxObject/svx/source/dialog/checklbx.o $W/CxxObject/svx/source/dialog/dialmgr.o $W/CxxObject/svx/source/dialog/dlgutil.o $W/CxxObject/svx/source/dialog/framelink.o $W/CxxObject/svx/source/dialog/langbox.o $W/CxxObject/svx/source/dialog/stddlg.o $W/CxxObject/svx/source/dialog/svxdlg.o $W/CxxObject/svx/source/engine3d/camera3d.o $W/CxxObject/svx/source/engine3d/cube3d.o $W/CxxObject/svx/source/engine3d/deflt3d.o $W/CxxObject/svx/source/engine3d/dragmt3d.o $W/CxxObject/svx/source/engine3d/e3dsceneupdater.o $W/CxxObject/svx/source/engine3d/e3dundo.o $W/CxxObject/svx/source/engine3d/extrud3d.o $W/CxxObject/svx/source/engine3d/helperhittest3d.o $W/CxxObject/svx/source/engine3d/helperminimaldepth3d.o $W/CxxObject/svx/source/engine3d/lathe3d.o $W/CxxObject/svx/source/engine3d/obj3d.o $W/CxxObject/svx/source/engine3d/objfac3d.o $W/CxxObject/svx/source/engine3d/polygn3d.o $W/CxxObject/svx/source/engine3d/polysc3d.o $W/CxxObject/svx/source/engine3d/scene3d.o $W/CxxObject/svx/source/engine3d/sphere3d.o $W/CxxObject/svx/source/engine3d/svx3ditems.o $W/CxxObject/svx/source/engine3d/view3d.o $W/CxxObject/svx/source/engine3d/view3d1.o $W/CxxObject/svx/source/engine3d/viewpt3d2.o $W/CxxObject/svx/source/gallery2/codec.o $W/CxxObject/svx/source/gallery2/galbrws.o $W/CxxObject/svx/source/gallery2/galbrws1.o $W/CxxObject/svx/source/gallery2/galbrws2.o $W/CxxObject/svx/source/gallery2/galctrl.o $W/CxxObject/svx/source/gallery2/galexpl.o $W/CxxObject/svx/source/gallery2/galini.o $W/CxxObject/svx/source/gallery2/gallery1.o $W/CxxObject/svx/source/gallery2/galmisc.o $W/CxxObject/svx/source/gallery2/galobj.o $W/CxxObject/svx/source/gallery2/galtheme.o $W/CxxObject/svx/source/gallery2/GalleryControl.o $W/CxxObject/svx/source/gallery2/GallerySplitter.o $W/CxxObject/svx/source/items/chrtitem.o $W/CxxObject/svx/source/items/clipfmtitem.o $W/CxxObject/svx/source/items/customshapeitem.o $W/CxxObject/svx/source/items/drawitem.o $W/CxxObject/svx/source/items/e3ditem.o $W/CxxObject/svx/source/items/galleryitem.o $W/CxxObject/svx/source/items/grfitem.o $W/CxxObject/svx/source/sdr/animation/scheduler.o $W/CxxObject/svx/source/sdr/animation/objectanimator.o $W/CxxObject/svx/source/sdr/animation/animationstate.o $W/CxxObject/svx/source/sdr/attribute/sdrlinefillshadowtextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrfilltextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrshadowtextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrtextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrlineshadowtextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrformtextattribute.o $W/CxxObject/svx/source/sdr/attribute/sdrformtextoutlineattribute.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofgroup.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofsdrpage.o $W/CxxObject/svx/source/sdr/contact/viewcontactofpageobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3d.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dcube.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrmediaobj.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofpageobj.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofe3dscene.o $W/CxxObject/svx/source/sdr/contact/viewcontactofgraphic.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactredirector.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrcircobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofgroup.o $W/CxxObject/svx/source/sdr/contact/viewcontactofunocontrol.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrobj.o $W/CxxObject/svx/source/sdr/contact/objectcontact.o $W/CxxObject/svx/source/sdr/contact/viewcontactoftextobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dlathe.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrpage.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dextrude.o $W/CxxObject/svx/source/sdr/contact/viewcontactofmasterpagedescriptor.o $W/CxxObject/svx/source/sdr/contact/viewcontact.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrole2obj.o $W/CxxObject/svx/source/sdr/contact/displayinfo.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dscene.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrrectobj.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofsdrole2obj.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofunocontrol.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofgraphic.o $W/CxxObject/svx/source/sdr/contact/sdrmediawindow.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrcaptionobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofvirtobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dsphere.o $W/CxxObject/svx/source/sdr/contact/viewcontactofe3dpolygon.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdredgeobj.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontact.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofsdrobj.o $W/CxxObject/svx/source/sdr/contact/objectcontactofpageview.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrpathobj.o $W/CxxObject/svx/source/sdr/contact/viewcontactofsdrmeasureobj.o $W/CxxObject/svx/source/sdr/contact/objectcontactofobjlistpainter.o $W/CxxObject/svx/source/sdr/contact/viewobjectcontactofe3d.o $W/CxxObject/svx/source/sdr/event/eventhandler.o $W/CxxObject/svx/source/sdr/overlay/overlayline.o $W/CxxObject/svx/source/sdr/overlay/overlaycrosshair.o $W/CxxObject/svx/source/sdr/overlay/overlayrollingrectangle.o $W/CxxObject/svx/source/sdr/overlay/overlaytriangle.o $W/CxxObject/svx/source/sdr/overlay/overlayselection.o $W/CxxObject/svx/source/sdr/overlay/overlayrectangle.o $W/CxxObject/svx/source/sdr/overlay/overlaybitmapex.o $W/CxxObject/svx/source/sdr/overlay/overlaymanagerbuffered.o $W/CxxObject/svx/source/sdr/overlay/overlayhelpline.o $W/CxxObject/svx/source/sdr/overlay/overlayanimatedbitmapex.o $W/CxxObject/svx/source/sdr/overlay/overlaypolypolygon.o $W/CxxObject/svx/source/sdr/overlay/overlayobjectcell.o $W/CxxObject/svx/source/sdr/overlay/overlaytools.o $W/CxxObject/svx/source/sdr/overlay/overlayprimitive2dsequenceobject.o $W/CxxObject/svx/source/sdr/overlay/overlayobject.o $W/CxxObject/svx/source/sdr/overlay/overlaymanager.o $W/CxxObject/svx/source/sdr/overlay/overlayobjectlist.o $W/CxxObject/svx/source/sdr/primitive2d/sdrellipseprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrprimitivetools.o $W/CxxObject/svx/source/sdr/primitive2d/sdrtextprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/primitivefactory2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrgrafprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrole2primitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrpathprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.o $W/CxxObject/svx/source/sdr/primitive2d/sdrattributecreator.o $W/CxxObject/svx/source/sdr/primitive2d/sdrdecompositiontools.o $W/CxxObject/svx/source/sdr/primitive3d/sdrattributecreator3d.o $W/CxxObject/svx/source/sdr/properties/pageproperties.o $W/CxxObject/svx/source/sdr/properties/e3dsceneproperties.o $W/CxxObject/svx/source/sdr/properties/itemsettools.o $W/CxxObject/svx/source/sdr/properties/captionproperties.o $W/CxxObject/svx/source/sdr/properties/e3dextrudeproperties.o $W/CxxObject/svx/source/sdr/properties/e3dproperties.o $W/CxxObject/svx/source/sdr/properties/measureproperties.o $W/CxxObject/svx/source/sdr/properties/customshapeproperties.o $W/CxxObject/svx/source/sdr/properties/rectangleproperties.o $W/CxxObject/svx/source/sdr/properties/groupproperties.o $W/CxxObject/svx/source/sdr/properties/properties.o $W/CxxObject/svx/source/sdr/properties/e3dlatheproperties.o $W/CxxObject/svx/source/sdr/properties/graphicproperties.o $W/CxxObject/svx/source/sdr/properties/circleproperties.o $W/CxxObject/svx/source/sdr/properties/emptyproperties.o $W/CxxObject/svx/source/sdr/properties/e3dsphereproperties.o $W/CxxObject/svx/source/sdr/properties/defaultproperties.o $W/CxxObject/svx/source/sdr/properties/textproperties.o $W/CxxObject/svx/source/sdr/properties/attributeproperties.o $W/CxxObject/svx/source/sdr/properties/connectorproperties.o $W/CxxObject/svx/source/sdr/properties/e3dcompoundproperties.o $W/CxxObject/svx/source/sdr/properties/oleproperties.o $W/CxxObject/svx/source/svdraw/clonelist.o $W/CxxObject/svx/source/svdraw/charthelper.o $W/CxxObject/svx/source/svdraw/gradtrns.o $W/CxxObject/svx/source/svdraw/polypolygoneditor.o $W/CxxObject/svx/source/svdraw/sdrhittesthelper.o $W/CxxObject/svx/source/svdraw/sdrmasterpagedescriptor.o $W/CxxObject/svx/source/svdraw/sdrpagewindow.o $W/CxxObject/svx/source/svdraw/sdrpaintwindow.o $W/CxxObject/svx/source/svdraw/sdrundomanager.o $W/CxxObject/svx/source/svdraw/selectioncontroller.o $W/CxxObject/svx/source/svdraw/svdattr.o $W/CxxObject/svx/source/svdraw/svdcrtv.o $W/CxxObject/svx/source/svdraw/svddrag.o $W/CxxObject/svx/source/svdraw/svddrgmt.o $W/CxxObject/svx/source/svdraw/svddrgv.o $W/CxxObject/svx/source/svdraw/svdedtv.o $W/CxxObject/svx/source/svdraw/svdedtv1.o $W/CxxObject/svx/source/svdraw/svdedtv2.o $W/CxxObject/svx/source/svdraw/svdedxv.o $W/CxxObject/svx/source/svdraw/svdetc.o $W/CxxObject/svx/source/svdraw/svdfmtf.o $W/CxxObject/svx/source/svdraw/svdglev.o $W/CxxObject/svx/source/svdraw/svdglue.o $W/CxxObject/svx/source/svdraw/svdhdl.o $W/CxxObject/svx/source/svdraw/svdhlpln.o $W/CxxObject/svx/source/svdraw/svdibrow.o $W/CxxObject/svx/source/svdraw/svditer.o $W/CxxObject/svx/source/svdraw/svdlayer.o $W/CxxObject/svx/source/svdraw/svdmark.o $W/CxxObject/svx/source/svdraw/svdmodel.o $W/CxxObject/svx/source/svdraw/svdmrkv.o $W/CxxObject/svx/source/svdraw/svdmrkv1.o $W/CxxObject/svx/source/svdraw/svdoashp.o $W/CxxObject/svx/source/svdraw/svdoattr.o $W/CxxObject/svx/source/svdraw/svdobj.o $W/CxxObject/svx/source/svdraw/svdocapt.o $W/CxxObject/svx/source/svdraw/svdocirc.o $W/CxxObject/svx/source/svdraw/svdoedge.o $W/CxxObject/svx/source/svdraw/svdograf.o $W/CxxObject/svx/source/svdraw/svdogrp.o $W/CxxObject/svx/source/svdraw/svdomeas.o $W/CxxObject/svx/source/svdraw/svdomedia.o $W/CxxObject/svx/source/svdraw/svdoole2.o $W/CxxObject/svx/source/svdraw/svdopage.o $W/CxxObject/svx/source/svdraw/svdopath.o $W/CxxObject/svx/source/svdraw/svdorect.o $W/CxxObject/svx/source/svdraw/svdotext.o $W/CxxObject/svx/source/svdraw/svdotextdecomposition.o $W/CxxObject/svx/source/svdraw/svdotextpathdecomposition.o $W/CxxObject/svx/source/svdraw/svdotxat.o $W/CxxObject/svx/source/svdraw/svdotxdr.o $W/CxxObject/svx/source/svdraw/svdotxed.o $W/CxxObject/svx/source/svdraw/svdotxfl.o $W/CxxObject/svx/source/svdraw/svdotxln.o $W/CxxObject/svx/source/svdraw/svdotxtr.o $W/CxxObject/svx/source/svdraw/svdouno.o $W/CxxObject/svx/source/svdraw/svdoutl.o $W/CxxObject/svx/source/svdraw/svdoutlinercache.o $W/CxxObject/svx/source/svdraw/svdovirt.o $W/CxxObject/svx/source/svdraw/svdpage.o $W/CxxObject/svx/source/svdraw/svdpagv.o $W/CxxObject/svx/source/svdraw/svdpntv.o $W/CxxObject/svx/source/svdraw/svdpoev.o $W/CxxObject/svx/source/svdraw/svdsnpv.o $W/CxxObject/svx/source/svdraw/svdtext.o $W/CxxObject/svx/source/svdraw/svdtrans.o $W/CxxObject/svx/source/svdraw/svdundo.o $W/CxxObject/svx/source/svdraw/svdview.o $W/CxxObject/svx/source/svdraw/svdviter.o $W/CxxObject/svx/source/svdraw/svdxcgv.o $W/CxxObject/svx/source/table/cell.o $W/CxxObject/svx/source/table/cellcursor.o $W/CxxObject/svx/source/table/cellrange.o $W/CxxObject/svx/source/table/propertyset.o $W/CxxObject/svx/source/table/svdotable.o $W/CxxObject/svx/source/table/tablecolumn.o $W/CxxObject/svx/source/table/tablecolumns.o $W/CxxObject/svx/source/table/tablecontroller.o $W/CxxObject/svx/source/table/tablehandles.o $W/CxxObject/svx/source/table/tablelayouter.o $W/CxxObject/svx/source/table/tablemodel.o $W/CxxObject/svx/source/table/tablerow.o $W/CxxObject/svx/source/table/tablerows.o $W/CxxObject/svx/source/table/tableundo.o $W/CxxObject/svx/source/table/viewcontactoftableobj.o $W/CxxObject/svx/source/tbxctrls/extrusioncontrols.o $W/CxxObject/svx/source/tbxctrls/fontworkgallery.o $W/CxxObject/svx/source/tbxctrls/tbcontrl.o $W/CxxObject/svx/source/tbxctrls/tbxcolorupdate.o $W/CxxObject/svx/source/tbxctrls/SvxColorValueSet.o $W/CxxObject/svx/source/toolbars/extrusionbar.o $W/CxxObject/svx/source/toolbars/fontworkbar.o $W/CxxObject/svx/source/unodraw/gluepts.o $W/CxxObject/svx/source/unodraw/shapepropertynotifier.o $W/CxxObject/svx/source/unodraw/tableshape.o $W/CxxObject/svx/source/unodraw/unobtabl.o $W/CxxObject/svx/source/unodraw/unodtabl.o $W/CxxObject/svx/source/unodraw/UnoGraphicExporter.o $W/CxxObject/svx/source/unodraw/unogtabl.o $W/CxxObject/svx/source/unodraw/unohtabl.o $W/CxxObject/svx/source/unodraw/unomlstr.o $W/CxxObject/svx/source/unodraw/unomod.o $W/CxxObject/svx/source/unodraw/unomtabl.o $W/CxxObject/svx/source/unodraw/UnoNameItemTable.o $W/CxxObject/svx/source/unodraw/unopage.o $W/CxxObject/svx/source/unodraw/unoprov.o $W/CxxObject/svx/source/unodraw/unoshap2.o $W/CxxObject/svx/source/unodraw/unoshap3.o $W/CxxObject/svx/source/unodraw/unoshap4.o $W/CxxObject/svx/source/unodraw/unoshape.o $W/CxxObject/svx/source/unodraw/unoshtxt.o $W/CxxObject/svx/source/unodraw/unottabl.o $W/CxxObject/svx/source/unodraw/XPropertyTable.o $W/CxxObject/svx/source/xml/xmleohlp.o $W/CxxObject/svx/source/xml/xmlexport.o $W/CxxObject/svx/source/xml/xmlgrhlp.o $W/CxxObject/svx/source/xml/xmlxtexp.o $W/CxxObject/svx/source/xml/xmlxtimp.o $W/CxxObject/svx/source/xoutdev/xattr.o $W/CxxObject/svx/source/xoutdev/xattr2.o $W/CxxObject/svx/source/xoutdev/xattrbmp.o $W/CxxObject/svx/source/xoutdev/xexch.o $W/CxxObject/svx/source/xoutdev/_xoutbmp.o $W/CxxObject/svx/source/xoutdev/_xpoly.o $W/CxxObject/svx/source/xoutdev/xpool.o $W/CxxObject/svx/source/xoutdev/xtabbtmp.o $W/CxxObject/svx/source/xoutdev/xtabcolr.o $W/CxxObject/svx/source/xoutdev/xtabdash.o $W/CxxObject/svx/source/xoutdev/xtabgrdt.o $W/CxxObject/svx/source/xoutdev/xtabhtch.o $W/CxxObject/svx/source/xoutdev/xtable.o $W/CxxObject/svx/source/xoutdev/XPropertyEntry.o $W/CxxObject/svx/source/xoutdev/xtablend.o $W/CxxObject/svx/source/fmcomp/dbaexchange.o $W/CxxObject/svx/source/fmcomp/fmgridcl.o $W/CxxObject/svx/source/fmcomp/fmgridif.o $W/CxxObject/svx/source/fmcomp/gridcell.o $W/CxxObject/svx/source/fmcomp/gridcols.o $W/CxxObject/svx/source/fmcomp/gridctrl.o $W/CxxObject/svx/source/fmcomp/xmlexchg.o $W/CxxObject/svx/source/form/dataaccessdescriptor.o $W/CxxObject/svx/source/form/datalistener.o $W/CxxObject/svx/source/form/datanavi.o $W/CxxObject/svx/source/form/dbtoolsclient.o $W/CxxObject/svx/source/form/delayedevent.o $W/CxxObject/svx/source/form/fmcontrolbordermanager.o $W/CxxObject/svx/source/form/fmcontrollayout.o $W/CxxObject/svx/source/form/fmdmod.o $W/CxxObject/svx/source/form/fmdocumentclassification.o $W/CxxObject/svx/source/form/fmdpage.o $W/CxxObject/svx/source/form/fmexch.o $W/CxxObject/svx/source/form/fmexpl.o $W/CxxObject/svx/source/form/fmitems.o $W/CxxObject/svx/source/form/fmmodel.o $W/CxxObject/svx/source/form/fmobj.o $W/CxxObject/svx/source/form/fmpage.o $W/CxxObject/svx/source/form/fmpgeimp.o $W/CxxObject/svx/source/form/fmscriptingenv.o $W/CxxObject/svx/source/form/fmservs.o $W/CxxObject/svx/source/form/fmshell.o $W/CxxObject/svx/source/form/fmshimp.o $W/CxxObject/svx/source/form/fmtextcontroldialogs.o $W/CxxObject/svx/source/form/fmtextcontrolfeature.o $W/CxxObject/svx/source/form/fmtextcontrolshell.o $W/CxxObject/svx/source/form/fmtools.o $W/CxxObject/svx/source/form/fmundo.o $W/CxxObject/svx/source/form/fmview.o $W/CxxObject/svx/source/form/fmvwimp.o $W/CxxObject/svx/source/form/formcontrolfactory.o $W/CxxObject/svx/source/form/formcontroller.o $W/CxxObject/svx/source/form/formcontrolling.o $W/CxxObject/svx/source/form/formdispatchinterceptor.o $W/CxxObject/svx/source/form/formfeaturedispatcher.o $W/CxxObject/svx/source/form/formtoolbars.o $W/CxxObject/svx/source/form/legacyformcontroller.o $W/CxxObject/svx/source/form/navigatortree.o $W/CxxObject/svx/source/form/navigatortreemodel.o $W/CxxObject/svx/source/form/ParseContext.o $W/CxxObject/svx/source/form/sdbdatacolumn.o $W/CxxObject/svx/source/form/sqlparserclient.o $W/CxxObject/svx/source/form/stringlistresource.o $W/CxxObject/svx/source/form/typeconversionclient.o $W/CxxObject/svx/source/form/typemap.o $W/CxxObject/svx/source/form/xfm_addcondition.o     -Wl,--start-group    -licuuc -Wl,--end-group -Wl,--no-as-needed -lavmedialo -lbasegfxlo -lsblo -lcomphelper -luno_cppuhelpergcc3 -luno_cppu -ldrawinglayerlo -leditenglo -lfwelo -li18nlangtag -llnglo -luno_sal -luno_salhelpergcc3 -lsaxlo -lsfxlo -lsotlo -lsvllo -lsvtlo -ltklo -ltllo -lucbhelper -lutllo -lvcllo -lxolo -o $I/program/libsvxcorelo.so
Comment 2 Albert Hopkins 2014-08-23 21:23:34 UTC
Ditto, except the failure occurs on an x86-64 system (gcc 4.9.1)
Comment 3 Caolán McNamara 2014-08-27 19:48:59 UTC
maybe some visibility issue, this sort of thing is more for the dev list than bugzilla. If its not just an isolated compiler bug incident, then it'll get seen when more devs start building with 4.9.0
Comment 4 Luke 2014-10-21 04:49:30 UTC
This is still an issue with the default compiler for Ubuntu 14.10 
gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
Has this been reported to https://gcc.gnu.org/bugzilla/ ?
Comment 5 Michael Stahl (CIB) 2014-10-22 18:38:13 UTC
just for the record current master builds fine on Fedora 21:
gcc (GCC) 4.9.1 20140930 (Red Hat 4.9.1-11)
Comment 6 Luke 2014-10-24 20:15:20 UTC
Michael,
This is an x86 issue, as indicated by the bug's hardware category and the first line of the bug description. Were you testing with a x86-64 build of Fedora?

fails with "Linux x86-32 with gcc 4.9.0. However, the build succeeds on an otherwise identical x86-64"
Comment 7 Michael Stahl (CIB) 2015-01-27 16:54:16 UTC
now that i look at this bug again because somebody cc'd me :)

Fedora 21 has GCC 4.9 and builds LO 4.3 for x86 too and it apparently works.

i remember i actually did this commit on master based on some report
of the same failure elsewhere, and have no idea if it actually helped or not.

commit bb182b47ca7362b05c03d583d3547643d9a99562
Author:     Michael Stahl <mstahl@redhat.com>
AuthorDate: Thu Aug 7 21:18:56 2014 +0200

    toolkit: export some ListenerMultiplexer types
    
    These are used from svx and apparently some (buggy?) toolchains fail with
    fmgridif.cxx:: undefined reference to `non-virtual thunk
     to WindowListenerMultiplexer::acquire()


could backport it to 4.3 if somebody says this helps.

since you mention Ubuntu perhaps Bjoern knows if they currently ship a broken GCC or not.
Comment 8 Björn Michaelsen 2015-01-27 17:01:29 UTC
(In reply to Michael Stahl from comment #7)
> commit bb182b47ca7362b05c03d583d3547643d9a99562
Thanks for the hint.

> could backport it to 4.3 if somebody says this helps.

Im not currently aware to any related build breakers on Ubuntu 14.10, 14.04 or Ubuntu vivid and we currently have no related vendor patches.

> since you mention Ubuntu perhaps Bjoern knows if they currently ship a
> broken GCC or not.

Nope, see above.
Comment 9 Jürg Billeter 2015-01-30 05:32:19 UTC
(In reply to Michael Stahl from comment #7)
> commit bb182b47ca7362b05c03d583d3547643d9a99562
> Author:     Michael Stahl <mstahl@redhat.com>
> AuthorDate: Thu Aug 7 21:18:56 2014 +0200
> 
>     toolkit: export some ListenerMultiplexer types

I can still reproduce this issue with libreoffice 4.4.0.3, which includes the above patch. This is on Linux x86-32 with gcc 4.9.2 in a clean build environment. Build on x86-64 is still fine.

gcc is unpatched upstream 4.9.2. binutils is unpatched upstream 2.25.
Comment 10 timo.teras 2015-02-03 09:28:52 UTC
I have this happening too on gcc 4.9.2 on x86_64.

I tracked the root cause. This is caused by -fvisibility-inlines-hidden. The ::acquire() functions are inline defined class members. Seems that the implementation gets hidden visibility due to that flag (not sure if this is gcc bug or not).

For some reason when used the non-inlined version is being used. But is it was marked hidden it's not available, and the linker gives the undefined error.

Removing -fvisibility-inlines-hidden works around this for me. This is doable simply by editing HAVE_GCC_VISIBILITY_BROKEN=TRUE in config_host.mk.
Comment 11 Michael Stahl (CIB) 2015-02-16 11:05:22 UTC
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.
Comment 12 Michael Stahl (CIB) 2015-02-16 21:41:11 UTC
the GCC bug now has a reduced reproducer for the bug

work-around pushed to master
Comment 13 Michael Stahl (CIB) 2015-02-16 22:00:48 UTC
bugzilla commit hook out of order again, these are the commits:

6b3aa0fe4094e87290bd33a30bd6cd99ee78ce38 "tdf#78174: toolkit: work around GCC 4.9 -Os link failure"
Comment 14 Michael Stahl (CIB) 2015-02-17 14:15:13 UTC
backported to libreoffice-4-4 commit 0e4b1d2127957459b79f41a96f1fa0061d399b3b
backported to libreoffice-4-3 commit 5e6cd9b7a15e7e6a994e8f3e4fafed2928dbf42d