Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Hi,

    DBD::MySQL and DBD::Pg pre-installed by default are nice however it is missing the crucial libraries LIBMYSQL.DLL and LIBPQ.DLL.

    It becomes a problem if some other module detects e.g. DBD::MySQL as present and tries to use it - than an error dialogue (GUI) with a message about missing DLL pops up.

    What was the original intention? Should all DLL be included in strawberry distribution or should the users get LIBMYSQL.DLL and LIBPQ.DLL get from somewhere else?

    --
    kmx

    • As Alias said, we meant to include everything.

      Because of that, we had to make a quick decision to rebuild, and during that rebuild, pull the PostgreSQL support for the final.

      The reason for that is explained at http://csjewell.dreamwidth.org/1710.html [dreamwidth.org].

      The MySQL client DLL is in the rebuild as of now, and it is uploaded to the URL's above.

      --
      The new Strawberry Perl for Windows has been released! Check http://strawberryperl.com for it.
      • Hi,

        Firstly, thanks for the fix.

        As I am not allowed to put comments on dreamwidth.org I put my feedback to libpq.dll issues here:

        1) I agree that MSVCRT80.DLL (part of MS Visual C redistributables) is a problem and we cannot just simply copy this dll into strawberry distribution. On the other hand I do not understand why are the official Pg binaries built in this way - the only reason could be building Pg via MS Visual C/C++ Express edition that does not contain some static libraries and forces the developers

        • Cancel that. DON'T use Shining Light - I forgot they have a dependency on MSVCR90.DLL - even worse! (We're trying to keep dependencies to MSVCRT.DLL only - not the versioned variants, so the gnuwin32 version probably won't work, either. That and it's out of date.)

          We'll probably have to build OpenSSL from scratch, too.

          --
          The new Strawberry Perl for Windows has been released! Check http://strawberryperl.com for it.
          • Hi,

            of course I will be happy to help you with building Pg support. In fact I have already done it for myself.

            My approach is based on the following:

            1) OpenSSL - I am currently using Shining Light but you are right that they are dependant on MSVCR90.DLL. I do not expect any problems rebuilding these DLLs - I have done it in one of our projects some time ago (both mingw and ms sdk compiler).

            2) For bulding postgress I am using msys enviroment
            - get http://downloads.sourceforge.net/mingw/msysCORE-1.0.11-bin.tar.gz [sourceforge.net]
            - unzip into c:\msys
            - run c:\msys\postinstall\pi.bat and answer that your mingw is c:\strawberry\c

            3) Bulding Pg is quite easy:
            - unpack Pg source files
            - run: c:\msys\msys.bat and cd into Pg source dir
            - run: ./configure --with-openssl --with-ldap
            - then: make install

            4) Copy dev libs/headers from c:\msys\local\pgsql into your strawberry
            - c:\msys\local\pgsql\bin\pg_config.exe -> c:\strawberry\c\bin
            - c:\msys\local\pgsql\lib\libpq.dll -> c:\strawberry\c\bin
            - c:\msys\local\pgsql\lib\libpq.a -> c:\strawberry\c\lib
            - c:\msys\local\pgsql\include\* -> c:\strawberry\c\include

            LIBPQ.DLL has following dependecies:
            c:\windows\system32\advapi32.dll
            c:\windows\system32\kernel32.dll
            c:\windows\system32\msvcrt.dll
            c:\windows\system32\secur32.dll
            c:\windows\system32\shfolder.dll
            c:\windows\system32\wldap32.dll
            c:\windows\system32\wsock32.dll
            c:\strawberry\c\bin\ssleay32.dll
            c:\strawberry\c\bin\libeay32.dll

            Unfortunately I was not able to include GSSAPI + Kerberos5 support into LIBPQ.DLL (in fact I do not use it and therefore have not tried so much).

            5) Now simply: cpan DBD::Pg

            So open questions:
            - openssl rebuild - mingw or ms compiler?
            - what about gssapi and krb5 support in libpq.dll - can we live without it?

            --
            kmx

            • Your first question: Preferably mingw, so we get the .a files for free. If not, then msvc with /MT instead of /MD (use the static MSVCRT instead of having a dep on MSVCR90.DLL and friends - this will require a non-Express version) and we can use pexports and company to generate a .a for us, if a .lib isn't there at the end to be renamed.

              As for your second question, I think we can live without it, but I want a second opinion.

              --
              The new Strawberry Perl for Windows has been released! Check http://strawberryperl.com for it.