On 10/07/2011 06:51 PM, Pavel Holec wrote:
-----Original Message-----
From: Craig Ringer [mailto:ring...@ringerc.id.au]
Sent: Thursday, October 06, 2011 2:05 AM
To: Pavel Holec
Cc: 'Tom Lane'; 'Alvaro Herrera'; 'Pg Bugs'
Subject: Re: [BUGS] BUG #6233: pg_dump hangs with Access Violation C0000005
On 10/05/2011 09:37 PM, Pavel Holec wrote:
Yes, this is the problem. libpq.dll I have built in VC6. With original
I had problem with msvcr80.dll and WinSxS because my end client app is
also from
VC6 and I can't prepare redist msvcr for end user. Can you advice me
how to do it?
It would've been nice if you'd mentioned that ;-)
Running a msvcrt.dll libpq with a msvcr80.dll pg_dump should work,
though; Windows programs are expected to cope with insane things like mixing
multiple C runtimes. It sounds like there's a bug where pg_dump doesn't use
the libpq memory management functions and instead does a direct free();
changing those crash sites you found to use PQfreemem should solve>> the
problem. Try it and see.
Advise you how to do what?
By the way, you should be able to use a regular libpq compiled against
msvcr80.dll with your VC6 client app so long as the client app uses
PQfreemem to release memory allocated by libpq.
--
Craig Ringer
PQfreemem is what I've been thinking about - great.
With SxS I see problem if customer have a clear new installation of WinXP
and no msvcrt80.dll. I'm not be able to ship this dll with installaton of my
client - when I use for example Inno setup.
Why not? Just invoke the redist installer from innosetup like you would
any other subprogram.
Isn't possible to have redistribute package with proper version msvcrt80.dll
accord with your binaries on the wb site?
The installer does exactly that. The .zip is for expert users; it's
assumed they'll be using it as part of an installer or other automated
setup and are going to want control over installation of the runtime.
Anyway, AFAIK you can't distribute the bare .DLL, you can only
distribute Microsoft's installer for the runtime and run it as part of
your install process. The .zip doesn't have an install process to run it
from.
Just bundle the appropriate MSVC runtime redist with your installer. You
can download the redists from Microsoft.
--
Craig Ringer
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs