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

            Bug ID: 7617
           Summary: spamc cannot be build on Windows
           Product: Spamassassin
           Version: 3.4 SVN branch
          Hardware: PC
                OS: Windows 7
            Status: NEW
          Severity: normal
          Priority: P2
         Component: spamc/spamd
          Assignee: dev@spamassassin.apache.org
          Reporter: pu...@jam-software.com
  Target Milestone: Undefined

Building spamc currently fails on Windows. This is caused by two issues:

1. There is a subtle bug in spamc/Makefile.win (see also bug #7393).
2. spamc/getopt.c is not POSIX-compliant.

Regarding 1.: The first line of the target for spamc/spamc.exe changes the
working directory. However, dmake (installed with Strawberry Perl 5.24) and GNU
make (gmake, installed with Strawberry Perl 5.28) spawn a sub-shell for each
command [^1][^2]. The change of directory thus only affects the sub-shell and
is "forgotten" immediately afterwards.

Regarding 2.: spamc/getopt.c uses function err from err.h, which is not part of
the POSIX standard [^3], and thus it is not availabe on Windows, neither
natively nor in MinGW.

I have fixes for these issues mostly ready. I will submit a patch, once I have
verified that no tests are negatively affected by this.

[^1]: https://www.openoffice.org/tools/dmake/dmake_4.11.html, see section
MAKING TARGETS
[^2]:
https://www.gnu.org/software/make/manual/html_node/Execution.html#Execution
[^3]: "These functions are nonstandard BSD extensions." https://man.cx/err

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

Reply via email to