Ticket #930 (closed bug: fixed)
build fails when sandbox path contains whitespace
|Reported by:||duncand||Owned by:||coke|
|Severity:||high||Keywords:||build configure fail path space whitespace makefile|
Parrot's build configuration that generates the Makefile has a bug in it regarding handling of situations where the path of the Parrot source code or build directories have whitespace in directory names. The generated Makefile doesn't have properly escaped file paths, such as in these variable declarations: BUILD_DIR, LDFLAGS, ALL_PARROT_LIBS, etc.
An example Makefile line:
BUILD_DIR := /Volumes/Documents/Documents/Muldis floss projects/git_working_dirs/rakudo/parrot
This causes 'make' to fail citing nonexistent directories and files.
What needs to happen is that the whitespace in the paths needs to be escaped, perhaps as \<space> or with quoting the path. AFAIK, Perl's make process does this correctly.
To reproduce, simply have your Parrot checkout in some directory where a parent directory contains whitespace and then run Configure.pl, and then run 'make'. This problem seems platform agnostic. My own test is Mac OS X, but from a brief #parrot chat, the bug was confirmed by mikehh, on some other Unix-like OS.
This bug is a very common edge case in programming, which is neglecting to remember escaping of filenames that might have whitespace.