Due to the lengthy build times, I’ve been experimenting with using cpan to install modules into an activated build.
The first problem I encountered was that cpan would fail on the dependency Win32::Console.
Now cpan works for some commands (like -D), but generates the messaging I’ve included below down below.
So I’m writing this while waiting another half hour to add dmake to the build.
My experience so far leads me to ask the following questions:
-
Why do builds take so long, and the timing so variable? I’ve seen times vary from 20 minutes to an hour.
-
Why isn’t there an incremental build option? (I read the document explaining why full builds are a best practice. Waiting an hour because you need 1 module … and then discover you need another and it costs you another hour … is hardly a “best practice” when it comes to developer productivity.)
-
Why aren’t Win32::Console and dmake included in the core build, so cpan will work?
I think it should be up to me to decide whether I want to use ActiveState’s build infrastructure for everyday development. I don’t mind using it to create a base build, but I’d sure like to be able to install modules whenever I need them.
It looks like you don't have a C compiler and make utility installed. Trying to install dmake and the MinGW gcc compiler using the Perl Package Manager. This may take a a few minutes... No Perl script found in input It looks like the installation of dmake and MinGW has failed. You will not be able to run Makefile commands or compile C extension code. Please check your internet connection and your proxy settings! Use of uninitialized value in pattern match (m//) at C:\Users\jgpuckering\AppData\Local\activestate\fb77abb1\site\lib/ExtUtils/MM_Win32.pm line 40. Use of uninitialized value in pattern match (m//) at C:\Users\jgpuckering\AppData\Local\activestate\fb77abb1\site\lib/ExtUtils/MM_Win32.pm line 41. Use of uninitialized value in pattern match (m//) at C:\Users\jgpuckering\AppData\Local\activestate\fb77abb1\site\lib/ExtUtils/MM_Win32.pm line 42. Loading internal logger. Log::Log4perl recommended for better logging