FAQ
Hello,

I was wondering how Strawberry Perl compiles DBD-Pg for 64-bit Windows.

In http://strawberryperl.com/release-notes/5.20.3.1-64bit.html I see that
PostgreSQL driver DBD-Pg is included in Strawberry Perl 64bit. I was
wondering how it is done. I did have a look at
https://github.com/StrawberryPerl? in an attempt to discover if anything
special was done, but was unable to find anything.

The reason I am asking this, I am trying to get DBD-Pg and DBD-Firebird to
work on Win64, but have been unsuccessful so far. Of course, my first
mistake is to use ActiveState Perl instead of Strawberry Perl:-). I am
using ActivePerl 5.20.1 Win64, DBI 1.634, Firebird 2.5.4 x64 classic
server, PostgreSQL 9.4.5-1 x64, DBD-Pg 3.5.1. This seems to build fine;
however, when attempting to run the resulting Perl, the application crashes
with a segmentation fault upon loading the driver DLL.

Does anyone have any idea? Note that the 32bit versions of the combination
_does_ work. So, it is something Win64 specific; but not specific to one
particular driver. I have compared the output of 'perl -V' for Strawberry
Perl and ActiveState Perl, but nothing obvious presents itself. So, I am a
bit lost here.

Any suggestions are welcome!

Regards, Bram

Search Discussions

  • Kmx at Oct 21, 2015 at 9:43 pm

    On 21.10.2015 10:34, Bram Stappers wrote:
    Hello,

    I was wondering how Strawberry Perl compiles DBD-Pg for 64-bit Windows.

    In http://strawberryperl.com/release-notes/5.20.3.1-64bit.html I see that
    PostgreSQL driver DBD-Pg is included in Strawberry Perl 64bit. I was
    wondering how it is done. I did have a look at
    https://github.com/StrawberryPerl? in an attempt to discover if anything
    special was done, but was unable to find anything.
    In strawberry perl 5.22.0.1 there is

    1/ client library postgresql-9.4.1 built with this little patch (you should
    find it in your c:\strawberry\licenses\postgresql\postgresql-9.4.1.diff )

    diff -r -u -w --strip-trailing-cr
    postgresql-9.4.1.original/src/template/win32
    postgresql-9.4.1/src/template/win32
    --- postgresql-9.4.1.original/src/template/win32 2015-05-19
    13:38:06.928673700 +0200
    +++ postgresql-9.4.1/src/template/win32 2015-05-19 13:36:05.180254800 +0200
    @@ -3,4 +3,4 @@
       # --allow-multiple-definition is required to link pg_dump because it finds
       # pg_toupper() etc. in both libpq and pgport
       # --disable-auto-import is to ensure we get MSVC-like linking behavior
    -LDFLAGS="-Wl,--allow-multiple-definition -Wl,--disable-auto-import"
    +LDFLAGS="-Wl,--allow-multiple-definition"

    2/ perl module DBD-Pg-3.5.1 installed by simply running: cpanm DBD::Pg

    I have experienced some troubles related to DBD::Pg + 64bit mingw-w64 when
    trying to build perl with extra compiler option -D__USE_MINGW_ANSI_STDIO I
    have not investigated why but DBD::Pg fails even to compile (no other
    module had a problem with __USE_MINGW_ANSI_STDIO).

    --
    kmx

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupwin32-vanilla @
categoriesperl
postedOct 21, '15 at 8:34a
activeOct 21, '15 at 9:43p
posts2
users2
websitestrawberryperl.com

2 users in discussion

Kmx: 1 post Bram Stappers: 1 post

People

Translate

site design / logo © 2019 Grokbase