Всем привет! Пытаюсь собрать пакет с Yuzu - экспериментальным эмулятором Nintendo Switch для Debian 9. Программа требует C++17 совместимый компилятор, потому предварительно в репозиторий добавил Clang 5.0. Но вот беда: при сборке задействуется libsdtc++, которая ссылается на GCC 6.3, который в свою очередь не поддерживает C++17. Нужно использовать флаг -stdlib=libc++
, чтобы использовалась clang'овская библиотека. Но не могу понять как правильно передать этот флаг. debian/rules файл сейчас выглядит следующим образом:
#!/usr/bin/make -f
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export CC=clang-5.0
export CXX=clang++-5.0
export CXX_FLAGS+=-stdlib=libc++
%:
dh $@ --parallel
override_dh_auto_configure:
dh_auto_configure -- \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_SYSTEM_CURL=1
но так не работает, компиляция валится с ошибкой:
[ 194s] /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/type_traits:1517:12: note: 'is_same' declared here
[ 194s] struct is_same
[ 194s] ^