Apache OpenOffice (AOO) Bugzilla – Issue 41591
Visibility broke KDE plugin linking
Last modified: 2005-03-22 18:07:56 UTC
Hi, after integration of vclcompact with #i37763# (Reduce vcl exports), KDE plugin can't be linked because: Making: ../unxlngi6.pro/lib/libvclplug_kde680li.so /home/oo/BuildDir/bin/ccache /disk2/OpenOffice.org/GCC341/bin/g++ -z combreloc -Wl,-z,defs -Wl,-rpath,'$ORIGIN' -shared -L../unxlngi6.pro/lib -L../lib -L/home/oo/BuildDir/ooo_SRC680_m75_src/solenv/unxlngi6/lib -L/home/oo/BuildDir/ooo_SRC680_m75_src/solver/680/unxlngi6.pro/lib -L/home/oo/BuildDir/ooo_SRC680_m75_src/solenv/unxlngi6/lib -L/usr/lib/SunJava2/lib -L/usr/lib/SunJava2/jre/lib/i386 -L/usr/lib/SunJava2/jre/lib/i386/client -L/usr/lib/SunJava2/jre/lib/i386/native_threads -L/usr/X11R6/lib ../unxlngi6.pro/slo/vclplug_kde_dflt_version.o ../unxlngi6.pro/slo/vclplug_kde_dflt_description.o -o ../unxlngi6.pro/lib/libvclplug_kde680li.so ../unxlngi6.pro/slo/kdedata.o ../unxlngi6.pro/slo/salnativewidgets-kde.o -L/opt/kde3/lib -L/usr/lib/qt3/lib -lkdeui -lkdecore -lqt-mt -lvclplug_gen680li -lvcl680li -lpsp680li -lsot680li -lutl680li -ltl680li -lcomphelp4gcc3 -lucbhelper3gcc3 -luno_cppuhelpergcc3 -luno_cppu -lvos3gcc3 -luno_sal -lX11 -ldl -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc ../unxlngi6.pro/slo/kdedata.o(.text+0x34): In function `KDEXLib::Init()': /home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/kdedata.cxx:121: undefined reference to `SalI18N_InputMethod::SalI18N_InputMethod()' ../unxlngi6.pro/slo/kdedata.o(.text+0x46):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/kdedata.cxx:128: undefined reference to `SalI18N_InputMethod::SetLocale(char const*)' ../unxlngi6.pro/slo/kdedata.o(.text+0x350):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/kdedata.cxx:191: undefined reference to `SalX11Display::SalX11Display(_XDisplay*, Visual*, unsigned long)' ../unxlngi6.pro/slo/kdedata.o(.text+0x35c):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/kdedata.cxx:193: undefined reference to `SalI18N_InputMethod::CreateMethod(_XDisplay*)' ../unxlngi6.pro/slo/kdedata.o(.text+0x36e):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/kdedata.cxx:194: undefined reference to `SalI18N_InputMethod::AddConnectionWatch(_XDisplay*, void*)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.text+0x368b): In function `KDESalFrame::~KDESalFrame()': /home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:1651: undefined reference to `X11SalFrame::~X11SalFrame()' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.text+0x36dd): In function `KDESalFrame::~KDESalFrame()': /home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:1651: undefined reference to `X11SalFrame::~X11SalFrame()' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.text+0x372f): In function `KDESalFrame::~KDESalFrame()': /home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:1651: undefined reference to `X11SalFrame::~X11SalFrame()' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.text+0x3785): In function `KDESalInstance::CreateFrame(SalFrame*, unsigned long)': ../inc/plugins/kde/kdedata.hxx:99: undefined reference to `X11SalFrame::X11SalFrame(SalFrame*, unsigned long, SystemParentData*)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x18):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:377: undefined reference to `X11SalFrame::PostEvent(void*)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x1c):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:377: undefined reference to `X11SalFrame::SetTitle(String const&)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x20):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:377: undefined reference to `X11SalFrame::SetIcon(unsigned short)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x24):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:377: undefined reference to `X11SalFrame::SetMenu(SalMenu*)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x28):/home/oo/BuildDir/ooo_SRC680_m75_src/vcl/unx/kde/salnativewidgets-kde.cxx:394: undefined reference to `X11SalFrame::DrawMenuBar()' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x2c):../inc/plugins/kde/kdedata.hxx:111: undefined reference to `X11SalFrame::Show(unsigned char, unsigned char)' ../unxlngi6.pro/slo/salnativewidgets-kde.o(.gnu.linkonce.d._ZTV11KDESalFrame+0x30):../inc/plugins/kde/kdedata.hxx:111: undefined reference to `X11SalFrame::Enable(unsigned char)' etc. If you need more info, please tell me so.
set target
kendy: JFYI.
To fix this, you should add VCL_DLLPUBLIC to the classes with the missing symbols ( have a look at X11SalSystem in salsys.h for an example ) and you have to include "dllapi.h", too. For staroffice, kde support is disabled, so I can't test / modify this myself.
-> kendy.
dv: please have a look on the attached patch. It fixes the compilation for me. Is it OK?
Created attachment 22117 [details] Patch for review
looks good to me, but i don't think you need to export KDESalFrame since nobody should link against the kde plugin and use its symbols (aside from create_SalInstance of course, that needs to be exported :-) ).
pl: you're right. New patch attached.
Created attachment 22122 [details] new patch
Looks even better. Should i commit or will you ?
If you have vcl in some cws (you surely have ;-), go ahead.
will commit to vcl36
commited in CWS vcl36
*** Issue 42087 has been marked as a duplicate of this issue. ***
verified in CWS vcl36
fix is in 680m88