
While the error message could be better, I believe the error is yours :-) See this code:
36689 johnmaddock if $(ICU_PATH) 29658 johnmaddock { 36689 johnmaddock if $(ICU_PATH) != "/usr" && $(ICU_PATH) != "/usr/local" 36689 johnmaddock { 36689 johnmaddock BOOST_REGEX_ICU_OPTS += "<include>$(ICU_PATH)/include" ; 36689 johnmaddock ICU_SEARCH_OPTS = <search>/$(ICU_PATH)/lib ; 36689 johnmaddock } 29658 johnmaddock }
If ICU_PATH is ../whatever, you end up with
<search>/../whatever
and it is not a valid path. I've made the obvious fix, verified that things work with:
bjam -sICU_PATH=../../../../../usr --with-regex
and checked in. Because this fix seems to be most obvious possible, I've also merged to release branch.
Thanks, that almost gets it: there is still one small SNAFU: if ICU_PATH is a relative path then "<include>$(ICU_PATH)/include" strips any leading ".." components from the path, so for example ../../download/icu becomes download/icu when passed to the compiler. Any ideas? Thanks, John.