Boost logo

Boost-Build :

Subject: [Boost-build] test-suite / run problem with paths containing spaces
From: Martin Dyring-Andersen (mda_at_[hidden])
Date: 2009-06-24 04:30:59

Hello everybody,

I have a Boost.Build based project which is currently being built in Windows, Darwin, Linux (Debian) and FreeBSD. Everything builds smoothly with the exception of some tests..

Given the following directory structure as an example:

$HOME/Projects/TFS/MyProject Name Containing Spaces/jamroot
$HOME/Projects/TFS/MyProject Project Name Containing Spaces/somedynamiclib/jamfile
$HOME/Projects/TFS/MyProject Project Name Containing Spaces/test/jamfile

the test/jamfile contains (simplified):

test-suite test
        : [ run test.cpp /somedynamiclib : : : : ]

So, during build I should get a test executable that is capable of loading "somedynamiclib". The result is this on the different platforms:

* Windows works like a charm

* Darwin fails with this error:
/bin/sh: line 1: MyProject: command not found
/bin/sh: line 4: 5573 Trace/BPT trap

* Debian works, but gives the following warning:
/bin/sh: line 1: MyProject: command not found
/bin/sh: line 2: export: `LD_LIBRARY_PATH': not a valid identifier

* FreeBSD works, but gives the following warning:
MyProject: not found

Without digging to much, I assume this is simply an issue of not properly escaping / quoting the paths in the cast of test-suite / run.

I can solve this issue myself by simply renaming the project directory (tested and found working). But since all other parts of the build process seems to work the spaces in the path, I assume this is fixable bug?

As a side note: any progress / plans for a release capable of hashed build directories? I have run into the path length issue on Windows a number of times, for now I have avoided them by using --abbreviate-paths but it feels like postponing the inevitable. ;-)

Best regards,
Martin Dyring-Andersen

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at