Re: Libpq visual c++ build errors, addrinfo and sockaddr_storage redefinition error

From: "Pierre Joye" <pierre(dot)php(at)gmail(dot)com>
To: "Magnus Hagander" <magnus(at)hagander(dot)net>
Cc: pgsql-ports(at)postgresql(dot)org
Subject: Re: Libpq visual c++ build errors, addrinfo and sockaddr_storage redefinition error
Date: 2008-07-23 21:29:27
Message-ID: fe05d1540807231429y1e43585p982ba697cc3e3ac5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ports

hi Magnus!

On Tue, May 6, 2008 at 8:01 PM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> Pierre Joye wrote:
>> > > We use the last SDK working with VC6 (2003/02). That's sadly a
>> > > requirement for php 5.x. We are working on supporting 2k5 and
>> > > the latest SDK for 5.3+. However VC6 support has to be kept for
>> > > the 5.x branches (at least).
>> >
>> > There's your problem, really. 8.3+ does not support VC6 anymore. We
>> > need 7.1 or newer.

Ok, time for some news :)

We have finally decide of a death sentence for VC6 (php 5.3.x is the
last release to support it). Then only VC9 binaries will be provided
(be 5.4 or 6).

>> I was suspecting this problem. Do you have any experiences of using
>> these 2k5 binaries with VC6 (especially in threaded environment)? We
>> may give it a try in the next weeks and update it again in 5.2.7 and
>> 5.3 if it works well.
>
> It shouldn't be a problem, other than requiring both runtimes to be
> present. Unless you use PQtrace() in which case it will be a big
> problem.
>
> Basically, as long as you don't free() something in one runtime that
> was malloced():d in a nother one, and as long as you don't pass "CRT
> pointers" between the two runtimes, you are fine. And we do pass a CRT
> pointer around in PQtrace, but that's the only case. We used to have a
> problem with some Kerberos structure that was malloced in one place and
> free()d in another, but that has been fixed.

I managed to compile the latest libpq with VC6, it requires only some
minor changes. I describe the procedure here (not asking to merge the
changes but it may help someone reading this list or the archive):

http://wiki.php.net/internals/windows/libs/libpg (should be pq =)

VC8 and VC9 works out of the box except that the command line options
are ignored (I will try to find the cause and report a bug for it).
You made a great work :)

I'm about to update the PHP Snapbox with the new versions, if you know
some pgsql+php Windows users, it would be the right time to test
(online on Monday 28th of July).

Thanks for your fantastic work and help :)

Cheers,
--
Pierre

http://blog.thepimp.net | http://www.libgd.org

In response to

Browse pgsql-ports by date

  From Date Subject
Next Message Pierre Joye 2008-09-29 09:09:13 libpq windows 64bit support
Previous Message Peter Eisentraut 2008-07-08 13:01:42 this mailing list is proposed to be retired