w32api 3.1 causes mysterious multiple definition errors

Max Bowsher maxb@ukf.net
Mon Oct 25 13:33:00 GMT 2004


Max Bowsher wrote:
> When compiling setup.exe, I get the following errors:
>
> /usr/lib/w32api/libadvapi32.a(dspes00177.o)(.text+0x0): multiple
> definition
> of `_FreeSid@4'
> autoload.o(.data+0x16b):autoload.c:83: first defined here
> /usr/lib/w32api/libadvapi32.a(dspes00026.o)(.text+0x0): multiple
> definition
> of `_AllocateAndInitializeSid@44'
> autoload.o(.data+0x149):autoload.c:83: first defined here
> /usr/lib/w32api/libadvapi32.a(dspes00253.o)(.text+0x0): multiple
> definition
> of `_InitializeAcl@12'
> autoload.o(.data+0x17c):autoload.c:83: first defined here
> /usr/lib/w32api/libadvapi32.a(dspes00013.o)(.text+0x0): multiple
> definition
> of `_AddAccessAllowedAce@16'
> autoload.o(.data+0x12c):autoload.c:83: first defined here
> /usr/lib/w32api/libadvapi32.a(dspes00357.o)(.text+0x0): multiple
> definition
> of `_OpenProcessToken@12'
> autoload.o(.data+0x193):autoload.c:83: first defined here
> /usr/lib/w32api/libadvapi32.a(dspes00479.o)(.text+0x0): multiple
> definition
> of `_SetTokenInformation@16'
> autoload.o(.data+0x1ad):autoload.c:83: first defined here
>
> They disappear if I roll w32api back to 2.5 and do a clean rebuild of
> setup.exe
>
> The extremely odd thing is that there are other advapi32 symbols used in
> the
> exactly the same way in the same file, which don't provoke similar errors.

I've worked this out now.

w32api is decorating the problem symbols with __declspec(dllimport).
Fortunately, it is doing so in a #define-controllable manner. I will be 
committing a suitable workaround to setup
shortly.

Max.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list