cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: probs. building libcurl w/gssapi on win32

From: David Rosenstrauch <darose_at_darose.net>
Date: Thu, 01 May 2008 17:32:33 -0400

Thanks much for the reply, Daniel. Replies inline ...

Daniel Stenberg wrote:
> On Thu, 1 May 2008, David Rosenstrauch wrote:
>
>>> c:\dave\curl-7.15.4\lib\config-win32.h(80) : see previous
>>> definition of 'HAVE_SYS_TYPES_H'
>>>
>> Hmmm ... made it a little further. I just commented out some of the
>> duplicate defines in config-win32.h, and most of the probs went away.
>
> I blame that other package. Public defines should be kept in a specific
> name space and they should never be prefixed HAVE_* as they are reserved
> for config items for the particular package you build.
>
> But I guess my blame helps nobody here.

Fair enough.I wound up working around this by adding some "#ifndef
HAVE_GSSMIT" around the duplicate definitions in config-win32.h. Seemed
to do the trick.

> And why are you using libcurl 7.15.4? Using an outdated version already
> from the start isn't the best idea IMHO. We've come a long way further
> since that release.

I know. But unfortunately, that's the version we're currently using
here at work, and we can't really upgrade until our next major release.
  So I'll have to be pinned to that version for now.

>> Got 1 last error now, though, which doesn't look quite as simple to
>> solve:
>>
>> c:\dave\curl-7.15.4\lib\http_negotiate.c(74): error C2065: 'EMSGSIZE'
>> : undeclared identifier
>
> Try adding "#define EMSGSIZE WSAEMSGSIZE" somewhere suitable.

Yeah, after some googling, I turned up the WSAEMSGSIZE as well. I
originally just altered the code to change it from EMSGSIZE to
WSAEMSGSIZE, but using a define like you suggested is definitely a
better idea.

> I think the problem here is that the GSS code in libcurl hasn't been
> used with native Windows before!

Well, I'm testing it out for you now! :-)

Seriously, though, it looks like we're going to need this at my job for
a project we're working on, so there's a good chance I'm going to be
hammering on getting these aspects of curl's functionality working in
the coming weeks (i.e., building on win32, and GSS and SPNEGO support).
  If that does in fact come to pass, I'll be happy to send some bug fix
patches your way to get this stuff cleaned up in the code.

Anyway, re: getting my progress in getting the code built, first some
good news:

I've finally got this all compiling on win32 using HAVE_GSSAPI (and
HAVE_GSSMIT) and HAVE_SPNEGO (against MIT Kerb for Windows, OpenSSL, and
fbopenssl)! (w00t!)

But then some bad news:

I'm now getting some linker errors:

curllib warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other
libs; use /NODEFAULTLIB:library

curllib error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)

curllib warning LNK4006: _malloc already defined in
LIBCMT.lib(malloc.obj); second definition ignored

curllib fatal error LNK1169: one or more multiply defined symbols found

Got any suggestions?

Thanks!

DR
Received on 2008-05-01