You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@spamassassin.apache.org on 2022/09/02 08:16:54 UTC

[Bug 8038] New: Make error on Windows using dmake with current version of ExtUtils::MakeMaker

https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

            Bug ID: 8038
           Summary: Make error on Windows using dmake with current version
                    of ExtUtils::MakeMaker
           Product: Spamassassin
           Version: 4.0.0
          Hardware: PC
                OS: Windows
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Building & Packaging
          Assignee: dev@spamassassin.apache.org
          Reporter: sidney@sidney.com
  Target Milestone: Undefined

Versions of ExtUtils::MakeMaker since 7.36 have an issue that I reported at
https://rt.cpan.org/Ticket/Display.html?id=144085

It causes SpamAssassin to fail to build with a syntax error running the
Makefile on Windows using a version of Strawberry Perl that uses dmake, when
ExtUtils::MakeMaker has been upgraded. Even though I think it can be blamed on
a bug in ExtUtils::MakeMaker we can still work around it in a way that will
still work if it is ever fixed.

Steps to reproduce:

On Windows, install Strawberry Perl version 5.24 or older, the versions that
ship with dmake instead of gmake that the newer versions use.

Use cpanm to install the perl modules that are required to build SpamAssassin

Upgrade ExtUtils::MakeMaker to the latest version by running
 cpanm ExtUtils::MakeMaker

Install the modules required to build SpamAssassin and get the SpamAssassin
source

In the SpamAssassin source directory run

 perl Makefile.PL < NUL:
 dmake

That fails with an error

  Output from 'C:\Strawberry\c\bin\dmake.exe':

  Can't find string terminator "]" anywhere before EOF at -e line 1.
  dmake.exe:  Error code 255, while making 'pm_to_blib'

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Henrik Krohns <ap...@hege.li> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |apache@hege.li

--- Comment #3 from Henrik Krohns <ap...@hege.li> ---
Can't test, but patch looks sane and only relevance is for building so +1

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

--- Comment #1 from Sidney Markowitz <si...@sidney.com> ---
Created attachment 5807
  --> https://bz.apache.org/SpamAssassin/attachment.cgi?id=5807&action=edit
patch with workaround of MakeMaker bug

This patch checks if it is running on Windows with dmake, and if so whether the
Perl bin path string set by MakeMaker exhibits the error. If it does, it sets
the PREPROCESSOR macro to have a corrected version of the path string. That
macro is the only one that is used by our Makefile.PL in such a way as to cause
that error to cause a problem, so the patch is focused on that as the minimal
change that allows Makefile to build.

Please vote on the patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Make error on Windows using |[REVIEW] Make error on
                   |dmake with current version  |Windows using dmake with
                   |of ExtUtils::MakeMaker      |current version of
                   |                            |ExtUtils::MakeMaker

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

--- Comment #5 from Sidney Markowitz <si...@sidney.com> ---
I'm adding this note to document a warning that this patch leaves happening:

Running dmake to build SpamAssassin with Strawberry perl version 5.24 or older
on which a recent enough ExtUtils::MakeMaker has been installed, with this
patch, results in a warning near the end of the make

No such PERL_BIN: C:"Strawberry\perl\bin\perl.exe" at build/preprocessor line
154.

However, when build/preprocessor uses the value to build the #! line the extra
quotes are removed and no error results. Given that it is a warning without
consequences that only happens with obsolete perl versions on Windows, I won't
risk changing anything to fix the warning.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Kevin A. McGrail <km...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kmcgrail@apache.org

--- Comment #2 from Kevin A. McGrail <km...@apache.org> ---
+1

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

--- Comment #6 from Kevin A. McGrail <km...@apache.org> ---
Since it has a review flag but I think it's an old flag, I will simply state +1
agree with your statement.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|Undefined                   |4.0.0
                 CC|                            |sidney@sidney.com

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] [REVIEW] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Sidney Markowitz <si...@sidney.com> ---
trunk % svn ci -m "Bug 8038 - work around quirk of newer Extutils::MakeMaker on
Windows with dmake" 
Sending        Makefile.PL
Transmitting file data .done
Committing transaction...
Committed revision 1903962.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 8038] Make error on Windows using dmake with current version of ExtUtils::MakeMaker

Posted by bu...@spamassassin.apache.org.
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8038

Sidney Markowitz <si...@sidney.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[REVIEW] Make error on      |Make error on Windows using
                   |Windows using dmake with    |dmake with current version
                   |current version of          |of ExtUtils::MakeMaker
                   |ExtUtils::MakeMaker         |

-- 
You are receiving this mail because:
You are the assignee for the bug.