mtar has asked for the wisdom of the Perl Monks concerning the following question:

I tested this problem either with Strawberry Perl and either with Activestate Perl. I want to install Crypt::DES and Crypt::Blowfish.

I'm using dmake and mingw in order to compile the C library and to install the module, but this error is introduced and the dll doesn't compile:

g++: Blowfish.obj: No such file or directory
g++: _blowfish.obj: No such file or directory
dmake: Error code 129, while making 'blib\arch\auto\Crypt\Blowfish\Blowfish.dll

This is the operation that I do:

C:\-.cpan\build\Crypt-Blowfish-2.10>perl makefile.pl Set up gcc environment - 3.4.5 (mingw special) Writing Makefile for Crypt::Blowfish C:\-.cpan\build\Crypt-Blowfish-2.10>dmake gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCR +YPT -DNO_H ASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S +YS -DUSE_P ERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 + -DVERS ION=\"2.10\" -DXS_VERSION=\"2.10\" "-IC:\Perl\lib\CORE" Blowfish +.c gcc -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCR +YPT -DNO_H ASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S +YS -DUSE_P ERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 + -DVERS ION=\"2.10\" -DXS_VERSION=\"2.10\" "-IC:\Perl\lib\CORE" _blowfis +h.c Running Mkbootstrap for Crypt::Blowfish () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Blowfish.bs dlltool --def Blowfish.def --output-exp dll.exp g++ -o blib\arch\auto\Crypt\Blowfish\Blowfish.dll -Wl,--base-file -Wl, +dll.base - mdll -L"C:\Perl\lib\CORE" Blowfish.obj _blowfish.obj -Wl,--image-base, +0x24050000 C:\Perl\lib\CORE\perl58.lib -lkernel32 -luser32 -lgdi32 -lwinspool - +lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lm +pr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp g++: Blowfish.obj: No such file or directory g++: _blowfish.obj: No such file or directory dmake: Error code 129, while making 'blib\arch\auto\Crypt\Blowfish\Bl +owfish.dll

Thank you very much for all suggestions. M.

  • Comment on "dmake: Error code 12" with Crypt::Blowfish and Crypt::DES installation
  • Download Code

Replies are listed 'Best First'.
Re: "dmake: Error code 12" with Crypt::Blowfish and Crypt::DES installation
by greatshots (Pilgrim) on Mar 19, 2007 at 02:26 UTC
      Thank your for your suggestion, the problem was in the Path of XP.
      Now I installed only Vanilla and it's working very well. Best regards
Re: "dmake: Error code 12" with Crypt::Blowfish and Crypt::DES installation
by syphilis (Archbishop) on Mar 19, 2007 at 04:17 UTC
    You have shown us what you get with ActivePerl. When I build Crypt-Blowfish-2.10 on ActivePerl build 817, using dmake 4.7, I find no problem. However, you're output of 'dmake' differs slightly from mine. Whereas you get:
    Running Mkbootstrap for Crypt::Blowfish () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Blowfish.bs dlltool --def Blowfish.def --output-exp dll.exp
    I get:
    Running Mkbootstrap for Crypt::Blowfish () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Blowfish.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Template::Stash::XS\", 'DLBASE' => 'XS', + 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' = > { }, 'DL_VARS' => []);" dlltool --def Blowfish.def --output-exp dll.exp
    You'll note that the 'perl.exe -MExtUtils::Mksymlists....' command is missing in your output.

    As a first guess, try updating ExtUtils::MakeMaker to version 6.31, and see if that fixes the problem.

    Cheers,
    Rob
      I installed the ExtUtils::MakeMaker to version 6.32 but the problem was not fix.
      Then I checked the Path environment variable in XP.
      There was either C:\Perl\site\bin; and either C:\strawberry-perl\perl\bin...
      The problem was there ;-).
      Now I installed only Vanilla and it's working very well. But in the future I would to resolve this problem with ActiveSate (I like that package). I'll try again on other PC. Thank you for your assistance!
        There was either C:\Perl\site\bin; and either C:\strawberry-perl\perl\bin...
        The problem was there ;-).
        Now I installed only Vanilla and it's working very well


        Were you able to determine exactly what the problem was ?
        It's not of monumental importance, but it puzzles me nonetheless. I have both ActivePerl and Strawberry Perl on the same box, and I cannot reproduce the problem you reported. Even when both ActivePerl and Strawberry Perl are in the 'path' (which is something I don't usually allow), there's still no problem for me.

        Strawberry Perl typically sets INCLUDE and LIB environment variables. I also couldn't find any problem with that - though, afaict, there's no point in setting those environment variables. (I don't know why Strawberry Perl does that.)

        It would be interesting to see what running 'set' produced when the failure was occurring. (Perhaps it's now too late :-)

        Cheers,
        Rob