Small problem building cygserver from source
Jon Turney
jon.turney@dronecode.org.uk
Sun Jun 27 11:38:22 GMT 2021
On 27/06/2021 09:01, Mark Geisert wrote:
> Jon Turney wrote:
>> On 24/06/2021 08:10, Mark Geisert wrote:
>>> Hi folks,
>>> I'm seeing this build problem while building the whole Cygwin ball of
>>> wax for local testing...
>>>
>>> Making all in cygserver
>>> make[3]: Entering directory
>>> '/c/staging/newlib-cygwin/build/x86_64-pc-cygwin/winsup/cygserver'
>>> CXXLD cygserver.exe
>>> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld:
>>> /usr/lib/w32api/libadvapi32.a(daltbs00499.o):(.idata$5+0x0): multiple
>>> definition of `__imp_LsaStorePrivateData';
>>> /oss/build/x86_64-pc-cygwin/winsup/cygwin/libcygwin.a(d000097.o):(.idata$5+0x0):
>>> first defined here
>>> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld:
>>> /usr/lib/w32api/libadvapi32.a(daltbs00471.o):(.idata$5+0x0): multiple
>>> definition of `__imp_LsaOpenPolicy';
>>> /oss/build/x86_64-pc-cygwin/winsup/cygwin/libcygwin.a(d000093.o):(.idata$5+0x0):
>>> first defined here
>>> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld:
>>> /usr/lib/w32api/libadvapi32.a(daltbs00437.o):(.idata$5+0x0): multiple
>>> definition of `__imp_LsaClose';
>>> /oss/build/x86_64-pc-cygwin/winsup/cygwin/libcygwin.a(d000084.o):(.idata$5+0x0):
>>> first defined here
>>> collect2: error: ld returned 1 exit status
>>> make[3]: *** [Makefile:534: cygserver.exe] Error 1
>>>
>>> I was not able to determine why libadvapi32.a is apparently being
>>> pulled in here or what was doing that.
>>
>> Not reproducible in CI or locally.
>>
>> You might need to do a clean and/or use a fresh build directory if you
>> haven't rebuilt successfully since the automakification changes.
>
> I did a 'git pull' then configure + make just to be sure I'm up to
> date. Errors still occur. Hmm. I suppose it's some local issue then.
>
> I read the error msgs as double defs of imports in w32api/libadvapi32.a
> vs libcygwin.a. I don't understand why the linker cares. Is it that
> there are no defs of the corresponding Lsa* functions among the linker
No, remember that import stubs are statically linked.
I'm pretty sure there shouldn't be a definition of _imp_Lsa* in
libcygwin.a at all, since the only import stubs it should be providing
are for the cygwin.dll.
More information about the Cygwin-developers
mailing list