Subject: | Module::Build does not build on Win32 due to ExtUtils::ParseXS prerequisite |
In addition of cpansmoke / CPANPLUS trying to install the optional ExtUtils::ParseXS (and failing if no C compiler is available), the tests in Module::Build also do seem to require ExtUtils::ParseXS:
C:\.cpan\5.8.5\build\Module-Build-0.2605>perl Build.PL
Checking whether your kit is complete...
Looks good
* Optional prerequisite ExtUtils::ParseXS isn't installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation.
Feature 'YAML_support' enabled.
Deleting Build
Removed previous script 'Build'
Creating new 'Build' script for 'Module-Build' version '0.2605'
C:\.cpan\5.8.5\build\Module-Build-0.2605>perl -w Build test
Writing config notes to blib\lib\Module\Build\ConfigData.pm
t\basic.........ok
t\compat........ok
t\ext...........ok
t\extend........ok
t\files.........ok
t\install.......ok
t\manifypods....ok
t\notes.........ok
t\pod_parser....ok
t\runthrough....ok
t\signature.....skipped
all skipped: Skipping unless $ENV{TEST_SIGNATURE} is true
t\versions......ok
t\xs............ok 6/12Can't locate loadable object for module XSTest in @INC (@INC contains: C:\.cp
an\5.8.5\build\Module-Build-0.2605\t\XSTest\blib\lib C:\.cpan\5.8.5\build\Module-Build-0.2605\t\XSTe
st\blib\arch C:\.cpan\5.8.5\build\Module-Build-0.2605\blib\lib C:\.cpan\5.8.5\build\Module-Build-0.2
605\blib\arch C:\.cpan\5.8.5\build\Module-Build-0.2605\lib C:\perl\5.8.5\lib C:\perl\site\5.8.5\lib
C:\.cpan\5.8.5\build\Module-Build-0.2605 c:/perl/5.8.5/lib c:/perl/site/5.8.5/lib . c:/perl/5.8.5/li
b c:/perl/site/5.8.5/lib .) at test.pl line 11
Compilation failed in require at test.pl line 11.
BEGIN failed--compilation aborted at test.pl line 11.
# Test 7 got: "Failed 1/1 test scripts, 0.00% okay. 3/3 subtests failed, 0.00% okay.\n" (t\xs.t at l
ine 44)
t\xs............NOK 7# Expected: ""
# t\xs.t line 44 is: ok $@, '';
t\xs............FAILED test 7
Failed 1/12 tests, 91.67% okay (less 2 skipped tests: 9 okay, 75.00%)
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t\xs.t 12 1 8.33% 7
1 test and 2 subtests skipped.
Failed 1/13 test scripts, 92.31% okay. 1/312 subtests failed, 99.68% okay.
The whole install process (using the already installed Module::Build 0.2605) does nowhere mention ExtUtils::ParseXS as mandatory, but cpanplus resp. cpansmoke seem to think it's mandatory.
If ExtUtils::ParseXS is mandatory, then I call that a very bad design choice, as it seems to rely on the availablility of a C compiler (plus toolsuite), which will rule out using Module::Build on systems without such, like Windows in its default configuration.
If the prerequisite was an oversight, consider this as a heads up.
Have fun,
-max