Thread: win32 8.1 pgadmin dll issues

win32 8.1 pgadmin dll issues

From
"Merlin Moncure"
Date:
My dev box was running 8.1rc1 and I thought it was time to put 8.1 on
it.  I downloaded the 8.1 binaries-only dist off of postgresql.org (bt
version), did a binary swap on my server and nothing ran...it turns out
all the binaries like initdb.exe, postgres.exe have a dll dependency on
various pgAdmin dlls like comerr32.dll and several others.  pgAdmin was
not installed on my server so nothing worked.  I copied the .dlls from
the pgAdmin folder on my workstation and postgres starts up.

Normally I roll my own so this may or may not be an issue...but when did
initdb.exe acquire a pgAdmin dependency?

Merlin

Re: win32 8.1 pgadmin dll issues

From
"Dave Page"
Date:

> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of
> Merlin Moncure
> Sent: 10 November 2005 14:56
> To: pgadmin-hackers@postgresql.org
> Cc: pgsql-hackers@postgresql.org
> Subject: [HACKERS] win32 8.1 pgadmin dll issues
>
> My dev box was running 8.1rc1 and I thought it was time to put 8.1 on
> it.  I downloaded the 8.1 binaries-only dist off of postgresql.org (bt
> version), did a binary swap on my server and nothing ran...it
> turns out
> all the binaries like initdb.exe, postgres.exe have a dll
> dependency on
> various pgAdmin dlls like comerr32.dll and several others.
> pgAdmin was
> not installed on my server so nothing worked.  I copied the .dlls from
> the pgAdmin folder on my workstation and postgres starts up.
>
> Normally I roll my own so this may or may not be an
> issue...but when did
> initdb.exe acquire a pgAdmin dependency?

It doesn't - they're all libpq dependencies, not pgAdmin ones (though
pgAdmin does need them because it uses libpq of course).

Commerr32 & brb5_32 are Kerberos.
Libiconv-2.dll & libintl-2.dll are Gettext.
Libeay32.dll and ssleay32.dll are Open SSL

Regards, Dave.

Re: win32 8.1 pgadmin dll issues

From
"Merlin Moncure"
Date:
> > My dev box was running 8.1rc1 and I thought it was time to put 8.1
on
> > it.  I downloaded the 8.1 binaries-only dist off of postgresql.org
(bt
> > version), did a binary swap on my server and nothing ran...it
> > turns out
> > all the binaries like initdb.exe, postgres.exe have a dll
> > dependency on
> > various pgAdmin dlls like comerr32.dll and several others.
> > pgAdmin was
> > not installed on my server so nothing worked.  I copied the .dlls
from
> > the pgAdmin folder on my workstation and postgres starts up.
> >
> > Normally I roll my own so this may or may not be an
> > issue...but when did
> > initdb.exe acquire a pgAdmin dependency?
>
> It doesn't - they're all libpq dependencies, not pgAdmin ones (though
> pgAdmin does need them because it uses libpq of course).

hm that makes sense...however those dlls are not provided in the binary
only installation but are required because it is compiled with ssl, etc.
The bt page doesn't state if ssl is required or not.  I just assumed
pgAdmin because that was the only place I could find a copy of the
libraries.

Merlin


Re: win32 8.1 pgadmin dll issues

From
"Magnus Hagander"
Date:
> My dev box was running 8.1rc1 and I thought it was time to
> put 8.1 on it.  I downloaded the 8.1 binaries-only dist off
> of postgresql.org (bt version), did a binary swap on my
> server and nothing ran...it turns out all the binaries like
> initdb.exe, postgres.exe have a dll dependency on various
> pgAdmin dlls like comerr32.dll and several others.  pgAdmin
> was not installed on my server so nothing worked.  I copied
> the .dlls from the pgAdmin folder on my workstation and
> postgres starts up.

Exactly what DLLs are those?
comerr32.dll is a Kerberos DLL and not a pgAdmin DLL..


> Normally I roll my own so this may or may not be an
> issue...but when did initdb.exe acquire a pgAdmin dependency?

It really shouldn't.

//Magnus

Re: win32 8.1 pgadmin dll issues

From
Martijn van Oosterhout
Date:
On Thu, Nov 10, 2005 at 04:24:46PM +0100, Magnus Hagander wrote:
> > My dev box was running 8.1rc1 and I thought it was time to
> > put 8.1 on it.  I downloaded the 8.1 binaries-only dist off
> > of postgresql.org (bt version), did a binary swap on my
> > server and nothing ran...it turns out all the binaries like
> > initdb.exe, postgres.exe have a dll dependency on various
> > pgAdmin dlls like comerr32.dll and several others.  pgAdmin
> > was not installed on my server so nothing worked.  I copied
> > the .dlls from the pgAdmin folder on my workstation and
> > postgres starts up.
>
> Exactly what DLLs are those?
> comerr32.dll is a Kerberos DLL and not a pgAdmin DLL..

I wonder if this is an artifact of the "link everything into every
binary even if we don't use it" procedure. Hence the postmaster can
depend on readline even though it doesn't use it.

With gcc we're proposing --as-needed to resolve this, but how would
that work for a windows platform? Can you examine a binary to see what
it depends on?

Hope this helps,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Re: win32 8.1 pgadmin dll issues

From
"Dave Page"
Date:

> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of
> Martijn van Oosterhout
> Sent: 10 November 2005 15:42
> To: Magnus Hagander
> Cc: Merlin Moncure; pgadmin-hackers@postgresql.org;
> pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] win32 8.1 pgadmin dll issues
>
> On Thu, Nov 10, 2005 at 04:24:46PM +0100, Magnus Hagander wrote:
> > > My dev box was running 8.1rc1 and I thought it was time to
> > > put 8.1 on it.  I downloaded the 8.1 binaries-only dist off
> > > of postgresql.org (bt version), did a binary swap on my
> > > server and nothing ran...it turns out all the binaries like
> > > initdb.exe, postgres.exe have a dll dependency on various
> > > pgAdmin dlls like comerr32.dll and several others.  pgAdmin
> > > was not installed on my server so nothing worked.  I copied
> > > the .dlls from the pgAdmin folder on my workstation and
> > > postgres starts up.
> >
> > Exactly what DLLs are those?
> > comerr32.dll is a Kerberos DLL and not a pgAdmin DLL..
>
> I wonder if this is an artifact of the "link everything into every
> binary even if we don't use it" procedure. Hence the postmaster can
> depend on readline even though it doesn't use it.
>
> With gcc we're proposing --as-needed to resolve this, but how would
> that work for a windows platform? Can you examine a binary to see what
> it depends on?

Those are the only dependencies, and are all intentional.

Regards, Dave