Issue 41591 - Visibility broke KDE plugin linking
Summary: Visibility broke KDE plugin linking
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: current
Hardware: All All
: P2 Trivial (vote)
Target Milestone: OOo 2.0
Assignee: philipp.lohmann
QA Contact: issues@gsl
URL:
Keywords:
: 42087 (view as issue list)
Depends on:
Blocks:
 
Reported: 2005-01-29 08:35 UTC by pavel
Modified: 2005-03-22 18:07 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Patch for review (2.23 KB, patch)
2005-02-02 07:58 UTC, pavel
no flags Details | Diff
new patch (1.71 KB, patch)
2005-02-02 11:01 UTC, pavel
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description pavel 2005-01-29 08:35:46 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.
Comment 1 pavel 2005-01-29 08:36:04 UTC
set target
Comment 2 pavel 2005-01-29 08:37:10 UTC
kendy: JFYI.
Comment 3 dirk.voelzke 2005-01-31 10:46:47 UTC
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.
Comment 4 pavel 2005-01-31 14:33:20 UTC
-> kendy.
Comment 5 pavel 2005-02-02 07:57:35 UTC
dv: please have a look on the attached patch. It fixes the compilation for me.

Is it OK?
Comment 6 pavel 2005-02-02 07:58:18 UTC
Created attachment 22117 [details]
Patch for review
Comment 7 philipp.lohmann 2005-02-02 10:17:28 UTC
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 :-) ).
Comment 8 pavel 2005-02-02 11:00:06 UTC
pl: you're right.

New patch attached.
Comment 9 pavel 2005-02-02 11:01:29 UTC
Created attachment 22122 [details]
new patch
Comment 10 philipp.lohmann 2005-02-02 11:54:19 UTC
Looks even better. Should i commit or will you ?
Comment 11 pavel 2005-02-02 11:55:36 UTC
If you have vcl in some cws (you surely have ;-), go ahead.
Comment 12 philipp.lohmann 2005-02-02 12:00:39 UTC
will commit to vcl36
Comment 13 philipp.lohmann 2005-02-02 12:04:36 UTC
commited in CWS vcl36
Comment 14 pavel 2005-02-06 16:55:34 UTC
*** Issue 42087 has been marked as a duplicate of this issue. ***
Comment 15 philipp.lohmann 2005-02-16 13:20:52 UTC
verified in CWS vcl36
Comment 16 philipp.lohmann 2005-03-22 18:07:56 UTC
fix is in 680m88