build error with clang
I'm trying to build gjs on gentoo with musl libc using clang 15 Here is the build error:
[111/121] x86_64-gentoo-linux-musl-clang++ -Itest/gjs-tests.p -Itest -I../gjs-1.72.2/test -I. -I../gjs-1.72.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 -I/usr/include/nspr -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -fno-rtti -O0 -fno-strict-aliasing -Wno-variadic-macros -Wno-missing-field-initializers -fno-semantic-interposition -march=native -O3 -pipe -DG_DISABLE_CAST_CHECKS -isystem /usr/include/mozjs-91 -pthread -DGJS_COMPILATION '-DGJS_JS_DIR="/usr/share/gjs-1.0"' '-DPKGLIBDIR="/usr/lib/gjs"' '-DG_LOG_DOMAIN="Gjs"' -MD -MQ test/gjs-tests.p/gjs-tests.cpp.o -MF test/gjs-tests.p/gjs-tests.cpp.o.d -o test/gjs-tests.p/gjs-tests.cpp.o -c ../gjs-1.72.2/test/gjs-tests.cpp
FAILED: test/gjs-tests.p/gjs-tests.cpp.o
x86_64-gentoo-linux-musl-clang++ -Itest/gjs-tests.p -Itest -I../gjs-1.72.2/test -I. -I../gjs-1.72.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 -I/usr/include/nspr -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -fno-rtti -O0 -fno-strict-aliasing -Wno-variadic-macros -Wno-missing-field-initializers -fno-semantic-interposition -march=native -O3 -pipe -DG_DISABLE_CAST_CHECKS -isystem /usr/include/mozjs-91 -pthread -DGJS_COMPILATION '-DGJS_JS_DIR="/usr/share/gjs-1.0"' '-DPKGLIBDIR="/usr/lib/gjs"' '-DG_LOG_DOMAIN="Gjs"' -MD -MQ test/gjs-tests.p/gjs-tests.cpp.o -MF test/gjs-tests.p/gjs-tests.cpp.o.d -o test/gjs-tests.p/gjs-tests.cpp.o -c ../gjs-1.72.2/test/gjs-tests.cpp
In file included from ../gjs-1.72.2/test/gjs-tests.cpp:11:
In file included from /usr/include/c++/v1/random:1689:
In file included from /usr/include/c++/v1/__random/discrete_distribution.h:18:
In file included from /usr/include/c++/v1/numeric:167:
In file included from /usr/include/c++/v1/functional:515:
In file included from /usr/include/c++/v1/__functional/boyer_moore_searcher.h:24:
In file included from /usr/include/c++/v1/array:127:
In file included from /usr/include/c++/v1/algorithm:1851:
In file included from /usr/include/c++/v1/__algorithm/ranges_sample.h:13:
In file included from /usr/include/c++/v1/__algorithm/sample.h:18:
/usr/include/c++/v1/__random/uniform_int_distribution.h:162:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_inttype<char32_t>::value': IntType must be a supported integer type
static_assert(__libcpp_random_is_valid_inttype<_IntType>::value, "IntType must be a supported integer type");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gjs-1.72.2/test/gjs-tests.cpp:71:16: note: in instantiation of template class 'std::uniform_int_distribution<char32_t>' requested here
return std::uniform_int_distribution<T>(lowest_value)(gen);
^
../gjs-1.72.2/test/gjs-tests.cpp:942:30: note: in instantiation of function template specialization 'Gjs::Test::get_random_number<char32_t>' requested here
char32_t random_char32 = get_random_number<char32_t>();
^
1 error generated.
Edited by Philip Chimento