On Sat, 2003-08-09 at 20:44, Serassio Guido wrote: 
> Hi Robert,
> 
> There are some residual build errors on Windows:
> 
> The store_dir_ufs.cc error is still here:
> 
> Compiling...
> store_dir_ufs.cc
> c:\work\nt-3.0\src\fs\ufs\store_dir_ufs.cc(1019) : error C2664: 
> 'file_write' : cannot convert parameter 7 from 'void (void *)' to 'void 
> (__cdecl *)(void *)'
>          None of the functions with this name in scope match the target type
> store_io_ufs.cc
> 
> I have made some test/investigation: it seems like that the FreeObject<> 
> linkage is not compatibile with what MSVC expects here: it don't have the 
> expected __cdecl calling convention, and trying to force it in the protos.h 
> declaration changed nothing.
> 
> FreeObject<> is used only here and in store_dir_coss.cc: it's possible to 
> change something in the coding logic to accomodate this ?
Yes - copy the template to each file it's used, and make it a normal,
static function there. 
> At link time I have got this:
> 
> Linking...
> ACLStringData.obj : error LNK2001: unresolved external symbol "int __cdecl 
> splaystrcmp(char * const &,char * const &)" (?splaystrcmp@@YAHABQAD0@Z)
> ACLUserData.obj : error LNK2001: unresolved external symbol "int __cdecl 
> splaystrcmp(char * const &,char * const &)" (?splaystrcmp@@YAHABQAD0@Z)
> ACLUserData.obj : error LNK2001: unresolved external symbol "int __cdecl 
> splaystrcasecmp(char * const &,char * const &)" (?splaystrcasecmp@@YAHABQAD0@Z)
> Debug/squid.exe : fatal error LNK1120: 2 unresolved externals
> Error executing link.exe.
> 
> But splaystrcmp and splaystrcasecmp are defined. What is this ?
Some BS with MSVC and templates. b****r. I've detemplatized these. 
I'd wager that the cause is because we reference them but never call
them - it may be that MSVC thus never instantiates them. I'm guessing it
may be because we don't directly call them, only take their address.
> Building nt branch on MSYS + MinGW I have got the following strange error:
> 
> cc1plus.exe: warnings being treated as errors
> digest/auth_digest.cc: In member function `virtual void 
> digest_request_h::authenticate(request_t*, RefCount<ConnStateData>, 
> http_hdr_type)':
> digest/auth_digest.cc:715: warning: aggregate has a partly bracketed 
> initializer
> digest/auth_digest.cc:715: warning: aggregate has a partly bracketed 
> initializer
> make[3]: *** [digest/auth_digest.o] Error 1
Sounds like mingw have a 'funny' struct definition for in_addr. Perhaps a memset is best for now.
Cheers,
Rob
-- GPG key available at: <http://members.aardvark.net.au/lifeless/keys.txt>.
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:27 MST