Hi,
This pertains to the Makefile generated by perl when building Glib-Object-Introspection-0.050.
It's the same problem with version 4.2.1 and version 4.4.1 of GNU make. (I haven't tested with any other versions.)
For Windows only, the Makefile.PL directly inserts a few lines into the generated Makefile.
One of those lines is:
PATH += ;build
The intention is to append ";build" to $ENV{PATH} but it instead appends " ;build".
This means that my PATH, which originally terminated in "...D:\msys64\mingw64\bin" then terminates in "...D:\msys64\mingw64\bin ;build".
Hence the (crucial) "D:\msys64\mingw64\bin" folder is no longer in my PATH - causing baffling load_file failures during 'gmake test'.
Notably, my original PATH doesn't terminate with a ';'. While that is perhaps not a good defensive programming approach, I don't believe it's a bug ?
Or, perhaps, the bug is in the instruction being provided by the Makefile.PL. Here is the relevant excerpt from the G-I-O-0.050 Makefile.PL:
$inherited =~ s/($target)/.IMPORT: PATH\nPATH += ;build\n.EXPORT: PATH
+\n$1/;
which results in this entry in the generated Makefile:
.IMPORT: PATH
PATH += ;build
.EXPORT: PATH
test_dynamic :: subdirs-test_dynamic
$(FULLPERLRUN) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "u
+ndef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), '$(INST_
+LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)
Cheers,
Rob
PS I tried the obvious and naive fix of changing "PATH += ;build" to "PATH+=;build" but the errant space is still being included in the PATH.
PPS Working around the problem is as simple as ensuring that my original path terminates with a semi-colon.The PATH then ends up terminating with "...D:\msys64\mingw64\bin; ;build", which seems to not be a problem.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.