Take a look at Re^3: Please help, need to fix the Window vista dll manifest issue and follow the "third" link, and scan down for the (currently) third reply. It details a one-line patch for ExtUtils::MM_Win32.pm that (apparently) fixes this problem.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
Thanks! That did _not_ fix the problem, but pointed me via the code in those lines (the patch is already there in my version) to where the current version of MakeMaker reads the compiler version from the file "config_heavy.pl", which was where I had to change things. That gets the mt program to run, properly I hope...thanks!
| [reply] |
To (perhaps) answer the question you raised in your initial post to this thread, the following patch to lib/ActivePerl/Config.pm would (afaict) take care of the whole thing for you:
--- Config.pm_orig Mon Jul 23 13:49:44 2007
+++ Config.pm Sat May 10 19:33:34 2008
@@ -81,7 +81,11 @@
}
if ($COMPILER_ENV{$key} && !$compiler_env_initialized++) {
- if ($^O eq "MSWin32" && (_gcc_requested() || !find_prog(_orig_con
+f("cc")))) {
+ if ($^O eq "MSWin32" && !_gcc_requested() && find_prog(_orig_c
+onf("cc"))) {
+ my @ccversion = split / /, `cl 2>&1`;
+ _override("ccversion", $ccversion[7]);
+ }
+ elsif ($^O eq "MSWin32" && (_gcc_requested() || !find_prog(_orig_
+conf("cc")))) {
if (my $gcc = find_prog("gcc")) {
# assume MinGW or similar is available
$gcc =~ s,\\,/,g;
I'm not sure that's the best way to determine the compiler version, and I'm not even sure that my logic is correct anyway, but it doesn't seem to break anything for me, and it should override the existing $Config{ccversion} with the appropriate value.
I'll submit it as a bug report to ActiveState. They'll probably want to change my code (if they decide to implement the fix), but at least it demonstrates that only a minor amendment to lib/ActivePerl/Config.pm is necessary in order to have the whole thing dealt with automatically.
Cheers, Rob Update: As of ActiveState build 1003 lib/ActivePerl/Config.pm has been patched to fix the problem that was the basis of the thread. (Unsurprisingly, the patch applied was not exactly the same as the one provided above.) | [reply] [d/l] [select] |
Last year I was banging my head against the same issue, and found nothing of practical use. I've finally abandoned MSVC use except where it was version 6 ( ActiveState distributes binaries built by this version, because distribution of code produced by higher version is also a nightmare story on its own). Otherwise, I've switched to strawberry perl, which uses gcc/mingw. | [reply] |