Я пытаюсь собрать libboost, 1.70.0.Я уже скомпилировал ICU4C и установил его локально на моем $HOME/usr
.У меня есть также сборка icu-config
, чтобы помочь найти его.У меня $HOME/usr/lib
в моей LD_LIBRARY_PATH
переменной окружения, и у меня $HOME/usr/bin
в моей PATH
.
Я бегу bootstrap
таким образом:
./bootstrap.sh --with-icu=$HOME/usr/ --prefix=$HOME/usr/
вывод предполагает, что icu будет включен.И указанный путь сохраняется в конфигурации bjam.
Позже, при запуске
./b2 --reconfigure
он говорит, что ICU не будет использоваться:
- bzip2 : yes
- lzma : no
- zstd : no
- iconv (libc) : yes
- icu : no
- icu (lib64) : no
- native-atomic-int32-supported : yes
Хотя это и не критично,Интересно, что он не находит lzma, даже если он установлен локально.
Я немного растерялся, не зная, что мне не хватает.Пару раз перекомпилировал ICU, попробовал разные подходы, которые я нашел онлайн, и ничего не работает.Любая помощь приветствуется.
Config.log показывает,
In file included from /home/ambs/usr/include/unicode/uversion.h:30:0,
from libs/regex/build/has_icu_test.cpp:12:
/home/ambs/usr/include/unicode/umachine.h:340:13: error: char16_t does not name a type
typedef char16_t UChar;
^
In file included from libs/regex/build/has_icu_test.cpp:12:0:
/home/ambs/usr/include/unicode/uversion.h:173:55: error: UChar does not name a type
u_versionFromUString(UVersionInfo versionArray, const UChar *versionString);
^
, а также другие подобные ошибки.Я (ну, я думаю, что я) компилирую с тем же компилятором (который тоже не в стандартном пути, но в моем пути).