Thread: plpython

plpython

From
Oliver Vecernik
Date:
Hi!

I downloaded the latest release of cygwin (1.3.18-1) with pgsql 7.3.1
and wanted to evaluate plpython, as Python is my favorite scripting
language. But trying to do so results in an error:

$ createlang plpython test
ERROR:  Load of file /usr/lib/postgresql/plpython.dll failed: dlopen:
Win32 error 126
createlang: language installation failed

I'm running cygwin on a W2k box and PostgreSQL is up and running fine.
The plpython.dll is in the expected directory.

Any ideas?

Best Regards,
Oliver

--
VECERNIK Datenerfassungssysteme
A-2560 Hernstein, Hofkogelgasse 17
Tel.: +43 2633 47530, Fax: DW 50
http://members.aon.at/vecernik



Re: plpython

From
Jason Tishler
Date:
Oliver,

On Thu, Jan 09, 2003 at 05:38:50PM +0100, Oliver Vecernik wrote:
> I downloaded the latest release of cygwin (1.3.18-1) with pgsql 7.3.1
                                                                  ^^^^^

Is the above a private build of PostgreSQL 7.3.1 or the official Cygwin
PostgreSQL 7.3-1 package?

> $ createlang plpython test
> ERROR:  Load of file /usr/lib/postgresql/plpython.dll failed: dlopen:
> Win32 error 126
> createlang: language installation failed

I don't get the above error:

    $ createlang -U postgres plpython template1
    $

> Any ideas?

The above error usually occurs when a dependent DLL cannot be found:

    $ fgrep 126L /usr/include/w32api/winerror.h
    #define ERROR_MOD_NOT_FOUND 126L
    ...

Note the following:

    $ cygcheck $(cygpath -w /usr/lib/postgresql/plpython.dll)
    C:\cygwin\lib\postgresql\plpython.dll
      C:\cygwin\bin\postgres.exe
        C:\cygwin\bin\cygwin1.dll
          C:\WINNT\System32\KERNEL32.dll
            C:\WINNT\System32\ntdll.dll
      C:\cygwin\bin\libpython2.2.dll
                             ^^^

Are you running a private build of Python 2.3a1 or the official Cygwin
Python 2.2.2-4 package?  If the former, then this would explain the
error.

However, the most recent Cygwin Python package (i.e., 2.2.2-4) was built
with a shared _socket module:

    http://cygwin.com/ml/cygwin-announce/2003-01/msg00003.html

and plpython in the PostgreSQL 7.3-1 package was built against a Cygwin
Python with a static _socket module.  I was concerned that this would
cause problems, but the above successful createlang seems to indicate
otherwise.

Nevertheless, I am building PostgreSQL 7.3.1 now and will release Cygwin
PostgreSQL 7.3.1-1 ASAP.

Jason

--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

Re: plpython

From
Jason Tishler
Date:
Oliver,

Please keep your replies on-list to avoid dangling threads in the
archives.

On Fri, Jan 10, 2003 at 12:05:07AM +0100, Oliver Vecernik wrote:
> Jason Tishler wrote:
> >On Thu, Jan 09, 2003 at 05:38:50PM +0100, Oliver Vecernik wrote:
> >>I downloaded the latest release of cygwin (1.3.18-1) with pgsql 7.3.1
> >>
> >                                                                 ^^^^^
> >
> >Is the above a private build of PostgreSQL 7.3.1 or the official
> >Cygwin PostgreSQL 7.3-1 package?
> >
> It's the original package.

Good.

> >     C:\cygwin\bin\libpython2.2.dll
> >                            ^^^
> >
> Stupid me. I forgot to install Python 2.2.2-4 under Cygwin (just
> installed the native 2.2 version).

Yup!  That explains it.

> Thanks for your advice, Jason!

You are welcome.

Would you be willing to help me?  One aspect that I never really tested
was plpython.  Would you be willing to report your findings back to the
list?

Thanks,
Jason

--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6