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

Started by TAKATSUKA Harukaalmost 16 years ago3 messages
#1TAKATSUKA Haruka
harukat@sraoss.co.jp

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 not be 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 not 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 ?

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

#2Magnus Hagander
magnus@hagander.net
In reply to: TAKATSUKA Haruka (#1)
Re: contrib check fail at pgcrypto on Windows Server 2008 64bit 9.0dev (HEAD near alpha5)

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 not be 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 not 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?

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

#3TAKATSUKA Haruka
harukat@sraoss.co.jp
In reply to: Magnus Hagander (#2)
Re: contrib check fail at pgcrypto on Windows Server 2008 64bit 9.0dev (HEAD near alpha5)

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 on
system 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 could not 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