in reply to Re^5: Disappointed with latest Strawberry Perl
in thread Disappointed with latest Strawberry Perl

My expectation is that the "Berkeley DB 4.6.21.msi Windows installer" at the oracle website would give you a windows version of the db library that you can use with Strawberry. Even if the library it provides was built using Visual Studio, MinGW will still be able to link to it - so, as long as that msi does, in fact, give you a db library for windows, you should be right (unless that library turns out to be crippled in some siginificant aspect).

Cheers,
Rob
  • Comment on Re^6: Disappointed with latest Strawberry Perl

Replies are listed 'Best First'.
Re^7: Disappointed with latest Strawberry Perl
by Tux (Canon) on Jan 21, 2008 at 07:39 UTC

    I would expect that to

    • Not include the required -devel part (include files)
    • Install in a location unsuited for Strawberry.

    I'll try to play with an install from scratch


    Enjoy, Have FUN! H.Merijn
      Not include the required -devel part (include files)

      That would be a problem.

      Install in a location unsuited for Strawberry

      That would not be a problem - we can easily hack our way around that.

      Cheers,
      Rob

        OK, I tried three routes:

        1. Install from source 1.
          I downloaded the source and tried to build from a (cygwin) bash with the env set up to match Strawberry. That failed. It detected too much Cygwin.
        2. Tried to build from a cmd window, set up for Straberry. That failed

        3. Installed the DB_File MSI (still no need for registration). The (very) good news is that it installs the *complete* devel env (C:\Program Files\Oracle\BerkeleyDB 4.6.21\. Then I did cpan.bat DB_File. That failed as expected. I copied db.h from the installed include dir to C:\strawberry\c\include and got this:
          gcc -c -IC:\strawberry\c\include -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPE +RL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_M +SVCRT_READFIX -s -O2 -DVERSION=\"1.816\" -DXS_VERSION=\"1.816\" + "-IC:\strawberry\perl\lib\CORE" -D_NOT_CORE -DmDB_Prefix_t=size_t +-DmDB_Hash_t=u_int32_t version.c In file included from version.c:30: C:/strawberry/c/include/db.h:118: error: redefinition of typedef 'uint +ptr_t' C:/strawberry/perl/lib/CORE/win32.h:273: error: previous declaration o +f 'uintptr_t' was here C:/strawberry/c/include/db.h:127: error: redefinition of typedef 'pid_ +t' C:/strawberry/c/include/sys/types.h:75: error: previous declaration of + 'pid_t' was here C:/strawberry/c/include/db.h:131: error: conflicting types for 'ssize_ +t' C:/strawberry/c/include/sys/types.h:104: error: previous declaration o +f 'ssize_t' was here dmake.exe: Error code 129, while making 'version.o'
          Hmm, harder than I thought it would be :(

        Enjoy, Have FUN! H.Merijn