fails to build on 32-bit
[--:--:--] STATUS sdk/gjs.bst: Running build-commands
ninja -j ${NINJAJOBS} -C _builddir
ninja: Entering directory `_builddir'
[1/102] Generating mock-js-resources_h with a custom command
[2/102] Generating js-resources_h with a custom command
[3/102] Generating mock-js-resources_c with a custom command
[4/102] Generating jsunit-resources_h with a custom command
[5/102] Generating js-resources_c with a custom command
[6/102] Compiling C++ object 'gjs-jsapi@sta/util_misc.cpp.o'
[7/102] Compiling C++ object 'gjs-jsapi@sta/util_log.cpp.o'
[8/102] Compiling C++ object 'gjs-console@exe/gjs_console.cpp.o'
[9/102] Compiling C object 'gjs@sha/meson-generated_.._js-resources.c.o'
[10/102] Compiling C++ object 'gjs-jsapi@sta/gjs_jsapi-dynamic-class.cpp.o'
[11/102] Compiling C++ object 'gjs-jsapi@sta/gjs_jsapi-util-error.cpp.o'
[12/102] Compiling C++ object 'gjs@sha/gi_closure.cpp.o'
[13/102] Compiling C++ object 'gjs@sha/gi_enumeration.cpp.o'
[14/102] Compiling C++ object 'gjs@sha/gi_foreign.cpp.o'
[15/102] Compiling C++ object 'gjs@sha/gi_arg.cpp.o'
FAILED: gjs@sha/gi_arg.cpp.o
c++ -Igjs@sha -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gobject-introspection-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -fvisibility=hidden -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -fno-strict-aliasing -Wno-variadic-macros -Wno-missing-field-initializers -fno-semantic-interposition -fno-rtti -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -O2 -g -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -include /usr/include/mozjs-78/js/RequiredDefines.h -isystem /usr/include/mozjs-78 -pthread -DGJS_COMPILATION '-DGJS_JS_DIR="/usr/share/gjs-1.0"' '-DPKGLIBDIR="/usr/lib/i386-linux-gnu/gjs"' '-DG_LOG_DOMAIN="Gjs"' -MD -MQ 'gjs@sha/gi_arg.cpp.o' -MF 'gjs@sha/gi_arg.cpp.o.d' -o 'gjs@sha/gi_arg.cpp.o' -c ../gi/arg.cpp
In file included from ../gi/arg-inl.h:19,
from ../gi/arg.cpp:30:
../gi/js-value-inl.h: In instantiation of ‘constexpr auto Gjs::JsValueHolder::get_strict() [with T = long unsigned int; GITypeTag TAG = GI_TYPE_TAG_GTYPE]’:
../gi/js-value-inl.h:86:58: required by substitution of ‘template<class T, GITypeTag TAG> using Strict = decltype (get_strict<T, TAG>()) [with T = long unsigned int; GITypeTag TAG = GI_TYPE_TAG_GTYPE]’
../gi/arg.cpp:725:11: required from ‘bool js_value_to_c_strict(JSContext*, const HandleValue&, T*) [with GITypeTag TAG = GI_TYPE_TAG_GTYPE; T = long unsigned int; JS::HandleValue = JS::Handle<JS::Value>]’
../gi/arg.cpp:754:39: required from ‘bool gjs_array_to_auto_array(JSContext*, JS::Value, size_t, void**) [with T = long unsigned int; GITypeTag TAG = GI_TYPE_TAG_GTYPE; size_t = unsigned int]’
../gi/arg.cpp:1089:48: required from here
../gi/js-value-inl.h:62:25: error: inconsistent deduction for auto return type: ‘long unsigned int’ and then ‘unsigned int’
62 | return uint32_t{};
| ^
[16/102] Compiling C++ object 'gjs-jsapi@sta/gjs_jsapi-util-string.cpp.o'
[17/102] Compiling C++ object 'gjs-jsapi@sta/gjs_jsapi-util.cpp.o'
[18/102] Compiling C++ object 'gjs@sha/gi_fundamental.cpp.o'
[19/102] Compiling C++ object 'test/9f86d08@@gjs-tests@exe/gjs-tests.cpp.o'
[20/102] Compiling C++ object 'gjs@sha/gi_arg-cache.cpp.o'
[21/102] Compiling C++ object 'gjs@sha/gi_boxed.cpp.o'
[22/102] Compiling C++ object 'gjs@sha/gi_interface.cpp.o'
[23/102] Compiling C++ object 'gjs@sha/gi_gtype.cpp.o'
[24/102] Compiling C++ object 'gjs@sha/gi_gobject.cpp.o'
[25/102] Compiling C++ object 'gjs@sha/gi_gerror.cpp.o'
[26/102] Compiling C++ object 'gjs@sha/gi_function.cpp.o'
ninja: build stopped: subcommand failed.
[00:00:06] FAILURE sdk/gjs.bst: Running build-commands
[00:00:36] FAILURE sdk/gjs.bst: Command 'ninja -j ${NINJAJOBS} -C _builddir' failed with exitcode 1
Likely caused by !507 (merged)
Since this keeps happening, maybe we should setup a CI job for testing 32 bit build?
Edited by Jordan Petridis