Thread

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

    TAKATSUKA Haruka <harukat@sraoss.co.jp> — 2010-04-05T05:16:32Z

    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
    
    
    
  2. Re: contrib check fail at pgcrypto on Windows Server 2008 64bit 9.0dev (HEAD near alpha5)

    Magnus Hagander <magnus@hagander.net> — 2010-04-05T09:44:53Z

    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/
    
    
  3. Re: contrib check fail at pgcrypto on Windows Server 2008 64bit 9.0dev (HEAD near alpha5)

    TAKATSUKA Haruka <harukat@sraoss.co.jp> — 2010-04-05T12:41:19Z

    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