[squid-users] Problem with running squid 3.5 on windows 7

Eldar Akchurin al.akchurin at hotmail.com
Sun Dec 21 14:43:46 UTC 2014


Hi Amos,
 
I'm continuing trying to make it run on 64 bit windows.
I bumped into the following compilation error:
 
ipc_win32.cc:720:38: error: call of overloaded ‘write(int&, char*&, ssize_t&)’ is ambiguous

             x = write(c2p[1], buf1, x);

                                      ^

ipc_win32.cc:720:38: note: candidates are:

In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/direct.h:10:0,

                 from ../compat/os/mswindows.h:38,

                 from ../compat/compat.h:73,

                 from ../include/squid.h:43,

                 from ipc_win32.cc:11:

/usr/x86_64-w64-mingw32/sys-root/mingw/include/io.h:329:15: note: int write(int, const void*, unsigned int)

   int __cdecl write(int _Filehandle,const void *_Buf,unsigned int _MaxCharCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;

               ^

In file included from ../compat/compat.h:73:0,

                 from ../include/squid.h:43,

                 from ipc_win32.cc:11:

../compat/os/mswindows.h:486:1: note: int write(int, const void*, size_t)

write(int fd, const void * buf, size_t siz)

 ^

Makefile:7011: recipe for target 'ipc_win32.o' failed
 
 
I suppose I need to use the second one, right (the first one seems deprecated)? 
As soon as I make it run, I will send you a patch.
 
Thank you!
 
--e
 
> Date: Sun, 21 Dec 2014 16:43:35 +1300
> From: squid3 at treenet.co.nz
> To: al.akchurin at hotmail.com; squid-users at lists.squid-cache.org
> Subject: Re: [squid-users] Problem with running squid 3.5 on windows 7
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 21/12/2014 11:58 a.m., Eldar Akchurin wrote:
> > Hi Amos,
> > 
> > Hmm, after checking I found out that this fix works only for 64
> > bit. When I try this on 32, both mingw on Cygwin and Ubuntu cannot
> > identify presence of getaddrinfo.
> > 
> > It seems the 32 bit version of libws2_32 is compiled with
> > "stdcall", i.e. the following works:
> > 
> > #ifdef __cplusplus extern "C" #endif char
> > __attribute__((__stdcall__)) getaddrinfo(int, int, int, int); //
> > 
> > // AUTOCONF tries out the below one (which does not mingle @16) //
> > char getaddrinfo(); // return getaddrinfo();
> > 
> > int main () { return getaddrinfo(0,0,0,0); ; return 0; }
> > 
> > I also found the following report, which kind of confirms what I
> > see (https://patches.libav.org/patch/545/): This moves
> > network_extralibs setup before use so that the link test works
> > correctly on mingw-w64.  mingw32 still fails to detect it due to
> > calling convention differences; getaddrinfo() is STDCALL, so it is
> > mangled as getaddrinfo at 16 on x86.
> > 
> > Unfortunately, my background is windows, so I'm new to autoconf and
> > all unix business. What do you think will be the right approach
> > here? Maybe AC_CECK_DECL instead of AC_REPLACE_FUNC for getaddrinfo
> > (and maybe some other funcs declared in the same lib)?
> > 
> 
> 
> Aha. That explains it, my build VM is an old 32-bit.
> 
> AC_CECK_DECL might work. getaddrinfo/getnameinfo/inet_ntop/inet_pton
> are the key ones for IP parsing. If not a full replacement lookup macro.
> 
> I am going to be delving into the configure.ac logics to add some new
> definitions for Solaris IP-Filter after the holidays. Might as well
> write a new one for Windows getaddrinfo() while I'm doing that.
> 
> 
> > Thank you very much for all your help, really appreciate it!
> > 
> > --e
> 
> No, thank you for yours. I have been procrastinating a bit much on
> this project.
> 
> Amos
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (MingW32)
> 
> iQEcBAEBAgAGBQJUlkHnAAoJELJo5wb/XPRjYoMH/RmApzGhNDemo6x+MXmVzUsf
> a8M+JY2OFminwNAJ3SNoz7SBmO6Kmi0fvh6f7LeJfmG6utr0M0/lqCFL9MZ8RDUs
> a9COhruK0Mwrs25z0kgzXSaZ6c4qV0mbCEeuUMGTnNKIkSkCflkljt1PMJ3O1+ou
> A+8EKWaMlXLXGOpVSqctwzkJex0B+cDOnaQ1j6cpioW7TZK+OyRGqj+BYB/GmVt4
> sxZX0UmsTmcTgFvKx1TbbUJPHpYy3PdJcIWlKRiMbL3FJQh4VmAc64g96qiOSXYF
> 72N9jQ8NTYVc/Gns0c8vse2kN/BSJk8uSFfvS9FXeFjtCvzjvBEFEQ7TUKhXaxs=
> =Hs2Z
> -----END PGP SIGNATURE-----
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20141221/37b0f626/attachment.html>


More information about the squid-users mailing list