[Libreoffice] bug in vcl make files?

Matúš Kukan matus.kukan at gmail.com
Thu Sep 1 12:35:01 PDT 2011


On 1 September 2011 21:26, Stephan Bergmann
<stephan.bergmann.secondary at googlemail.com> wrote:
> On Sep 1, 2011, at 3:47 PM, Matúš Kukan wrote:
>> On 1 September 2011 15:14, Jenei Gábor <jengab at elte.hu> wrote:
>>> Hi all,
>>>
>>> As I tried to compile vcl module with raised dbglevel I found out the
>>> following error at linking:
>>>
>>>
>>> /home/LOff/libo/workdir/unxlngi6.pro/CxxObject/vcl/unx/headless/svpgdi.o: In
>>> function `dbgOut(boost::shared_ptr<basebmp::BitmapDevice> const&)':
>>> svpgdi.cxx:(.text._Z6dbgOutRKN5boost10shared_ptrIN7basebmp12BitmapDeviceEEE[dbgOut(boost::shared_ptr<basebmp::BitmapDevice>
>>> const&)]+0x13a): undefined reference to
>>> `basebmp::debugDump(boost::shared_ptr<basebmp::BitmapDevice> const&,
>>> std::basic_ostream<char, std::char_traits<char> >&)'
>>> collect2: ld returned 1 exit status
>>> make: ***
>>> [/home/LOff/libo/workdir/unxlngi6.pro/LinkTarget/Library/libvclplug_svplo.so]
>>> Error 1
>>>
>>> As I saw in cpp code this should be ok, so probably basebmp debug.cxx is not
>>> marked for linking in the project. Could someone look at this issue who
>>> knows make files?
>>>
>> That's not about makefiles. debugDump() is not marked for exporting,
>> you can do this in cxx file with SAL_DLLPUBLIC_EXPORT
>> or in hxx files. But in hxx you need to use library specific macro defined as in
>> http://opengrok.libreoffice.org/xref/core/basebmp/inc/basebmp/bitmapdevice.hxx#42
>> It's more complicated because of error in windows compilers, I think.
>>
>> I have pushed this one. (
>> http://cgit.freedesktop.org/libreoffice/core/commit/?id=e21822008dff0c618e8947d7343bc70d51d47ec3
>> )
>
> You cannot do it that way -- it will not work on Windows.  See <http://wiki.services.openoffice.org/wiki/Symbol_Visibility> for details (in short, you need the BASEBMP_DLLPUBLIC/BASEBMP_DLLIMPLEMENTATION stuff in the header file if you want to be able to link against the function on Windows).
>
Yeah, tinderbox is complaining.. I did not know I can't do even this.

> Will try to remember to prepare a proper patch tomorrow, unless someone beats me to it…
>
Maybe I will do this today, but if not, thanks for proper patch

Matúš


More information about the LibreOffice mailing list