Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Missing nmake - 64bit, Windows 7

by syphilis (Chancellor)
on Mar 02, 2011 at 07:04 UTC ( #890918=note: print w/replies, xml ) Need Help??

in reply to Missing nmake - 64bit, Windows 7

I assume it's a 64-bit build of ActivePerl that you're using - one where perl -V:ivsize reports 8. (Note that 32-bit builds of perl, where the ivsize is 4, will also run quite well on 64-bit Windows.)

If my assumption is correct, then one option is:
a) Install dmake from CPAN, and add the location of dmake.exe to your path;
b) Download this mingw port of the gcc compiler, unzip it and add the bin folder to your path;
c) Install ExtUtils::FakeConfig from CPAN (using your usual procedure for building and installing modules);
d) set the PERL5OPT environment variable to -MConfig_m

You should then be right to go with building modules for your x64 ActivePerl, using dmake and MinGW, by simply going about the task in the usual way - either by running cpan -i ... or by running perl Makefile.PL, etc.

Update: One can, of course, adopt the same approach with 32-bit builds of ActivePerl and MinGW - but ActiveState's seamless integration of MinGW for the 32-bit perls is so good that it makes the use of EU::FC unnecessary (imo).


Replies are listed 'Best First'.
Re^2: Missing nmake - 64bit, Windows 7
by ikegami (Pope) on Mar 04, 2011 at 05:31 UTC

    Without -MConfig_m:

    C:\Progs\mingw64\bin\g++.exe -o blib\arch\auto\DBD\SQLite\SQLite.dll - +Wl,--base-file -Wl,dll.base -mdll -L"C:\Progs\perl5121-ap1201\lib\COR +E" SQLite.o dbdimp.o sqlite3.o -Wl,--image-base,0x27340000 C +:\Progs\perl5121-ap1201\lib\CORE\perl512.lib -lkernel32 -luser32 -lgd +i32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -ln +etapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 - +lcomctl32 -lbufferoverflowU -lmsvcrt dll.exp c:/progs/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.4.5/../../../../x +86_64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU

    With -MConfig_m, it doesn't even get that far:

    C:\Progs\perl5121-ap1201\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"DBD::SQLite\", 'DLBASE' => 'SQLite', 'DL +_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => [] +);" dmake: Error: -- `C:\Progs\perl5121-ap1201\lib\CORE\libperl510.a' not + found, and can't be made

    5.10? This is 5.12!

      5.10? This is 5.12!

      The module probably hasn't been updated since the release of 5.12 - certainly there's no spec/ap_mingw_512.txt present in the distro.

      I'd like to send the author some patches to get this module up to date ... it's just a matter of finding the time.


      In $active_perl\site\lib\, change




      Then, it works with -MConfig_m.

      Note: will be write-protected, so you'll have to change its attributes to edit it.

Re^2: Missing nmake - 64bit, Windows 7
by heliozoan (Initiate) on Mar 03, 2011 at 14:25 UTC
    Hi Rob, Yes, it's a 64-bit build of ActivePerl. I will try your suggestions. Cheers!
      Yes, it's a 64-bit build of ActivePerl

      If the version of perl is later than 5.10, then there might be some (hopefully simple) hacking needed .... I'm not sure yet.
      If you strike trouble, please feel free to follow it up here.

      With 64-bit builds of ActivePerl, some of the other suggestions mentioned earlier in this thread won't work - eg you won't be able to 'ppm install MinGW'.

Re^2: Missing nmake - 64bit, Windows 7
by ikegami (Pope) on Mar 22, 2011 at 17:12 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://890918]
[Corion]: Eily: Yeah - my French isn't even good to understand jokes, much less to make them :-D
[Corion]: marto: That post is a repost/duplicate of Excel sheet data write issue :-D
[Corion]: Whoops - Merging worksheets in .xls in one Excel sheet
[marto]: Corion, whoops, can the moderation me amended?
[Corion]: marto: We could vote, unconsider and reconsider ;)
[Corion]: "vote keep", I meant ;)
[Corion]: marto: But that aside, I hope you are well!
Corion is slowly acclimatizing to working only four days a week
[marto]: the back pain is still there, it's been a rough week, trying to do building work with a bad back
[Corion]: marto: Ow! That doesn't sound good :-/ The work won't help your back...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2017-09-21 14:40 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (248 votes). Check out past polls.