feature/gbuild_merge needs testing

Matúš Kukan matus.kukan at gmail.com
Sun May 27 05:10:08 PDT 2012


On 27 May 2012 11:45, David Tardon <dtardon at redhat.com> wrote:
> On Sun, May 27, 2012 at 12:39:32AM +0200, Matúš Kukan wrote:
>> Problems:
>> shell - missing exported symbols in ooofilt library from
>> shell/source/win32/shlxthandler/ooofilt/exports.dxp
>
> Right. And the same for shlxthdl. I will fix that.

Sorry, does not work:
C:/cygwin/home/matus/git/libo/shell/source/win32/shlxthandler/ooofilt/ooofilt.cxx(910)
: error C2375: 'DllGetClassObject' : redefinition; different linkage
        C:/PROGRA~1/MICROS~2/Windows/v6.0A/include\objbase.h(852) :
see declaration of 'DllGetClassObject'
C:/cygwin/home/matus/git/libo/shell/source/win32/shlxthandler/ooofilt/ooofilt.cxx(946)
: error C2375: 'DllCanUnloadNow' : redefinition; different linkage
        C:/PROGRA~1/MICROS~2/Windows/v6.0A/include\objbase.h(854) :
see declaration of 'DllCanUnloadNow'

First this problem was with nsplugin.
You can also have a look at
http://lists.freedesktop.org/archives/libreoffice/2012-January/023657.html
thread.

>> Something like 156202b06270a90a4b73370d04401486145076d2 could help.
>
> I do not understand what are you trying to achieve there.

To export symbols and work around problems as above.
Though I am not sure if that really works.

> SAL_DLLPUBLIC_EXPORT expands into __declspec(dllexport) on Windows and,
> according to http://msdn.microsoft.com/en-us/library/7k30y2k5(v=vs.80) ,
> this is equivalent to using /EXPORT:symbol on linker's command line. So
> the commit effectively changes nothing, except that it uses less
> preferred way to specify the exports...

Right, but you can't use DLLPUBLIC macro only in source file.
Only for functions without declaration in included header as
component_getFactory()
( But you can use it only in header file I think. )

Another possibility is used in extensions/Library_so_activex.mk : 56

>> testtools - CustomTarget_bridgetest_climaker.mk
>> error: .NET exception occured: System.AccesViolationException:
>> Attempted to read or write protected memory. This is often an
>> indication that other memory is corrupt.
>> at ?A0x393b8821.sal_main()
>
> No idea.

Well, after commenting out CustomTarget_bridgetest_climaker.mk it builds fine.
Maybe it's not really needed or someone will fix it later.
I've not cared enough about testtools so far, to know more.

>> connectivity - unresolved symbol __imp__SHGetFolderPath in
>> Library_postgresql-sdbc-impl.mk
>
> I suppose it needs shell32.dll . Can you try that?

Sure, it's better.
Windows' toolchain has funny feature to refuse to create .lib file
when there is no exported symbol.
Or something like that.
And indeed connectivity/source/drivers/postgresql/pq_connection.cxx's
component_getFactory si missing SAL_DLLPUBLIC_EXPORT.
So it can't be used ? And can be removed ?
Otherwise connectivity builds fine.
( After removing
connectivity/source/drivers/postgresql/postgresql-sdbc-impl from
Rdb_postgresql-sdbc.mk )

Best,
Matus


More information about the LibreOffice mailing list