Thread: contrib check fail at pgcrypto on Windows Server 2008 64bit 9.0dev (HEAD near alpha5)

Hi, all.

I built pgsql with following regulation (for buildfarm new entry).- Windows Server 2008 64bit- VC2005- 9.0dev (HEAD
nearalpha5) 64bit
 

And I got a fail at "vcregress contribcheck" about only pgcrypto.
All CREATE FUNCTION of pgcrypto got ERROR.
(It passed "vcregress check")

STATEMENT:  CREATE OR REPLACE FUNCTION decrypt_iv(bytea, bytea, bytea, text)       RETURNS bytea       AS
'$libdir/pgcrypto','pg_decrypt_iv'       LANGUAGE C IMMUTABLE STRICT;
 
ERROR:  could not load library "C:/Users/Administrator/mhome/pgsql-inst/lib/pgcrypto.dll": The specified module could
notbe found.
 

I tried LOAD command following:

test=# LOAD 'sslinfo.dll';
LOAD
test=# LOAD 'pgcrypto.dll';
ERROR:  could not load library "C:/Users/Administrator/mhome/pgsql-inst/lib/pgcrypto.dll": The specified module could
notbe found.
 

I traced it with VC2005 debugger.
API "LoadLibrary" was called (and return NULL).
DLL's "DllMain" was not called in case of "pgcrypto.dll".


Is there any idea ?


config.pl
---------
use strict;
use warnings;
our $config = {   platform=>'x64',   asserts=>1,   ldap=>1,   nls=>undef, tcl=>undef, perl=>undef,  python=>undef,
krb5=>undef,  openssl=>'c:\OpenSSL',   uuid=>undef,  xml=>undef,  xslt=>undef,  iconv=>undef,   zlib=>'c:\zlib'
 
};
1;
---------
______________________________________________________________________TAKATSUKA Haruka  <harukat@sraoss.co.jp>SRA OSS,
Inc.Japan   http://www.sraoss.co.jp/index_en.php
 



On Mon, Apr 5, 2010 at 07:16, TAKATSUKA Haruka <harukat@sraoss.co.jp> wrote:
> Hi, all.
>
> I built pgsql with following regulation (for buildfarm new entry).
>  - Windows Server 2008 64bit
>  - VC2005
>  - 9.0dev (HEAD near alpha5) 64bit
>
> And I got a fail at "vcregress contribcheck" about only pgcrypto.
> All CREATE FUNCTION of pgcrypto got ERROR.
> (It passed "vcregress check")
>
> STATEMENT:  CREATE OR REPLACE FUNCTION decrypt_iv(bytea, bytea, bytea, text)
>        RETURNS bytea
>        AS '$libdir/pgcrypto', 'pg_decrypt_iv'
>        LANGUAGE C IMMUTABLE STRICT;
> ERROR:  could not load library "C:/Users/Administrator/mhome/pgsql-inst/lib/pgcrypto.dll": The specified module could
notbe found. 
>
> I tried LOAD command following:
>
> test=# LOAD 'sslinfo.dll';
> LOAD
> test=# LOAD 'pgcrypto.dll';
> ERROR:  could not load library "C:/Users/Administrator/mhome/pgsql-inst/lib/pgcrypto.dll": The specified module could
notbe found. 
>
> I traced it with VC2005 debugger.
> API "LoadLibrary" was called (and return NULL).
> DLL's "DllMain" was not called in case of "pgcrypto.dll".
>
>
> Is there any idea ?

What do you get if you run "depends" on pgcrypto.dll?

Due to "smart linking" or whatever they call it, it may be that
sslinfo is only pulling in one of the two OpenSSL DLL files, and the
other one is fialing pehaps?

I assume you've tried this on a clean sourcetree so it's not just some
weird leftover or mismaatch between 32 and 64-bit?

-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/


Magnus, Thanks your help.

When I set 64bit version of zlib1.dll, msvcr80.dll and msvcr90.dll into
Windows\system32 directory correctiry, it run well. 
(Perhaps I did copy with MSYS's "cp command that does not work onsystem directory.)


On Mon, 5 Apr 2010 11:44:53 +0200
Magnus Hagander <magnus@hagander.net> wrote:

> On Mon, Apr 5, 2010 at 07:16, TAKATSUKA Haruka <harukat@sraoss.co.jp> wrote:
> > I built pgsql with following regulation (for buildfarm new entry).
> > ?- Windows Server 2008 64bit
> > ?- VC2005
> > ?- 9.0dev (HEAD near alpha5) 64bit
> >
> > And I got a fail at "vcregress contribcheck" about only pgcrypto.
(snip)
> > test=# LOAD 'sslinfo.dll';
> > LOAD
> > test=# LOAD 'pgcrypto.dll';
> > ERROR: ?could not load library "C:/Users/Administrator/mhome/pgsql-inst/lib/pgcrypto.dll": The specified module
couldnot be found.
 
> >
> > I traced it with VC2005 debugger.
> > API "LoadLibrary" was called (and return NULL).
> > DLL's "DllMain" was not called in case of "pgcrypto.dll".
> >
> >
> > Is there any idea ?
> 
> What do you get if you run "depends" on pgcrypto.dll?
> 
> Due to "smart linking" or whatever they call it, it may be that
> sslinfo is only pulling in one of the two OpenSSL DLL files, and the
> other one is fialing pehaps?
> 
> I assume you've tried this on a clean sourcetree so it's not just some
> weird leftover or mismaatch between 32 and 64-bit?

______________________________________________________________________TAKATSUKA Haruka  <harukat@sraoss.co.jp>SRA OSS,
Inc.Japan   http://www.sraoss.co.jp/index_en.php