Thread: DLL Problems

DLL Problems

From
"lmanorders"
Date:
I’m running Windows 7, 64 bit, C++ Builder XE6, and Postgres 9.4.1. I’m using libpq to interface with Postgres. I’m using the DLLs that are installed (pre-compiled) with Postgres 9.4.1.
 
I’m having problems finding a set of DLLs that work together properly. The dependencies to libpq.dll are shown as ssleay32.dll, libeay32.dll, libintl.dll, and msvcr100.dll. If I use the DLLs that came with Postgres 9.3, everything seems to work just fine. If I try to use libpq.dll, ssleay32.dll, and libeay32.dll, that come with Postgres 9.4, and the latest versions of libintl.dll and msvcr100.dll that I can find, I get the message “The application was unable to start correctly (0xC000007b)”.
 
The libpq.dll (9.4 version) seems to be having problems with one or more of the other DLLs. Does anyone know what versions of these DLLs will work properly together?
 
Thanks, Lynn
 

Re: DLL Problems

From
Albe Laurenz
Date:
lmanorders wrote:
> I’m running Windows 7, 64 bit, C++ Builder XE6, and Postgres 9.4.1. I’m using libpq to interface with
> Postgres. I’m using the DLLs that are installed (pre-compiled) with Postgres 9.4.1.
> 
> I’m having problems finding a set of DLLs that work together properly. The dependencies to libpq.dll
> are shown as ssleay32.dll, libeay32.dll, libintl.dll, and msvcr100.dll. If I use the DLLs that came
> with Postgres 9.3, everything seems to work just fine. If I try to use libpq.dll, ssleay32.dll, and
> libeay32.dll, that come with Postgres 9.4, and the latest versions of libintl.dll and msvcr100.dll
> that I can find, I get the message “The application was unable to start correctly (0xC000007b)”.
> 
> The libpq.dll (9.4 version) seems to be having problems with one or more of the other DLLs. Does
> anyone know what versions of these DLLs will work properly together?

I don't know a lot about Windows.

First, why are you trying to use the precompiled libpq.dll you have with other libraries
than the ones that were included?

For one, I know that EDB's PostgreSQL binaries use a different C runtime (msvc*.dll)
for versions 9.3 and 9.4.  Maybe that is your problem.

There is an excellent tool, Dependency Walker (http://dependencywalker.com/),
that can help you debug problems of this kind.

Yours,
Laurenz Albe

Re: DLL Problems

From
"lmanorders"
Date:
Thanks for the response. Using Dependency Walker helped me to realize that I
was attempting to link a 32 bit program to 64 bit DLLs. I downloaded the
binaries for a 32 bit version of Postgres and used the DLLs that come with
it. Everything works perfectly now.
Thanks!  Lynn

-----Original Message-----
From: Albe Laurenz
Sent: Friday, May 29, 2015 2:16 AM
To: 'lmanorders *EXTERN*' ; pgsql-novice@postgresql.org
Subject: RE: [NOVICE] DLL Problems

lmanorders wrote:
> I’m running Windows 7, 64 bit, C++ Builder XE6, and Postgres 9.4.1. I’m
> using libpq to interface with
> Postgres. I’m using the DLLs that are installed (pre-compiled) with
> Postgres 9.4.1.
>
> I’m having problems finding a set of DLLs that work together properly. The
> dependencies to libpq.dll
> are shown as ssleay32.dll, libeay32.dll, libintl.dll, and msvcr100.dll. If
> I use the DLLs that came
> with Postgres 9.3, everything seems to work just fine. If I try to use
> libpq.dll, ssleay32.dll, and
> libeay32.dll, that come with Postgres 9.4, and the latest versions of
> libintl.dll and msvcr100.dll
> that I can find, I get the message “The application was unable to start
> correctly (0xC000007b)”.
>
> The libpq.dll (9.4 version) seems to be having problems with one or more
> of the other DLLs. Does
> anyone know what versions of these DLLs will work properly together?

I don't know a lot about Windows.

First, why are you trying to use the precompiled libpq.dll you have with
other libraries
than the ones that were included?

For one, I know that EDB's PostgreSQL binaries use a different C runtime
(msvc*.dll)
for versions 9.3 and 9.4.  Maybe that is your problem.

There is an excellent tool, Dependency Walker
(http://dependencywalker.com/),
that can help you debug problems of this kind.

Yours,
Laurenz Albe