# New Ticket Created by David Woldrich # Please include the string: [perl #41104] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=41104 >
Affected files: /README.win32.pod Description: On Win32, backslashes are generated as part of many pathnames by most tools and wind up in the makefile. Windows understands paths with both forward and backslashes. But, Cygwin and MSYS /bin/sh.exe's do not. They correctly interpret the backslashes as escape characters. Perl.exe is designed to search for sh.exe on the system PATH, if it finds it, whenever it shells a new program, it does it via Cygwin's or MSYS' /bin/sh.exe. The make process fails early on due to bad paths. The fix is to remove /bin/sh.exe from the PATH environment variable and run the build process from a dosbox. My patch includes a suggested documentation change (you may want to wordsmith it a bit, but hopefully you get the gist.) Note: the README.win32.pod says that there should be "other README's" that discuss Cygwin build issues, but I did not see any Cygwin readme's in trunk. My patch does not discuss Cygwin, but theoretically the same advice should apply. Cheers, Dave Woldrich
Index: README.win32.pod =================================================================== --- README.win32.pod (revision 16131) +++ README.win32.pod (working copy) @@ -39,7 +39,14 @@ one of the above toolkits to obtain a later version, either v7 or v8. MinGW works with its GNU "make" (v 3.80) port and its name is -'mingw32-make.exe'. +'mingw32-make.exe'. If you also have the Minimal SYStem (MSYS) installed, +you will need to remove the Msys/bin folder from your PATH environment +variable before calling "perl Configure.pl" and mingw32-make. Perl detects +and calls /bin/sh.exe, if found, whenever shelling a new process. sh.exe +causes problems for mingw32-make.exe because of its inability to handle +Windows pathnames with backslashes. You must run "perl Configure.pl" and +mingw32-make from a dosbox; running those commands from an MSYS shell window +will experience the same backslash path problems. =item Command Shell