meta-toolkit / meta

A Modern C++ Data Sciences Toolkit
https://meta-toolkit.org
MIT License
695 stars 236 forks source link

make step fails on macOS if run from directory that has parent directory with spaces in name #187

Open magic-lantern opened 7 years ago

magic-lantern commented 7 years ago

I discovered that if I attempt to follow the build guide (https://meta-toolkit.org/setup-guide.html) from a directory that has a parent directory with spaces in the path, it fails at the final make step.

pwd
/Users/username/OneDrive - My Organization/Documents/KDD_2017/meta_Tutorial

If I then run the following:

git clone https://github.com/meta-toolkit/meta.git
cd meta/
git submodule update --init --recursive
mkdir build
cd build
cp ../config.toml .
CXX=clang++ cmake ../ -DCMAKE_BUILD_TYPE=Release -DICU_ROOT=/usr/local/opt/icu4c
make

I get this output with errors:

-- [download 100% complete]
-- verifying file...
       file='/Users/username/OneDrive - My Organization/Documents/KDD_2017/meta_Tutorial/meta/deps/icu-58.2/icu4c-58_2-src.tgz'
-- Downloading... done
-- extracting...
     src='/Users/username/OneDrive - My Organization/Documents/KDD_2017/meta_Tutorial/meta/deps/icu-58.2/icu4c-58_2-src.tgz'
     dst='/Users/username/OneDrive - My Organization/Documents/KDD_2017/meta_Tutorial/meta/build/deps/icu-58.2/src/ExternalICU'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[  1%] No patch step for 'ExternalICU'
[  1%] No update step for 'ExternalICU'
[  1%] Performing configure step for 'ExternalICU'
checking for ICU version numbers... sed: -: No such file or directory
sed: My: No such file or directory
sed: Organization/Documents/KDD_2017/meta_Tutorial/meta/build/deps/icu-58.2/src/ExternalICU/source/common/unicode/uvernum.h: No such file or directory
configure: error: Cannot determine ICU version number from uvernum.h header file
make[2]: *** [deps/icu-58.2/src/ExternalICU-stamp/ExternalICU-configure] Error 1
make[1]: *** [CMakeFiles/ExternalICU.dir/all] Error 2
make: *** [all] Error 2
skystrife commented 7 years ago

Oh fun, this looks like it's actually a bug in ICU! I'll have to test later to see if this is fixed in ICU 59.1 and, if not, we can submit a bug report upstream.