Thread: DLL Problems
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
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
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