../gtk-4.14.4/gtk/roaring/roaring.h:260:18: error: implicit declaration of function ‘_mm_popcnt_u64’; did you mean ‘_mm_popcnt_u32’? [-Wimplicit-function-declaration] - time64 systems
This bug was found using the new glibc time64 support for x86 but will effect all 32bit distros as it becomes more widely adopted.
Steps to reproduce
1.Create a glibc-time64 install (Gentoo provides stage3 files here
2. emerge --verbose --ask gui-libs/gtk
Note: Gentoo provides up to 4.14.4 but I have tested with 4.16.5 to see the issue still exists before reporting.
Current behavior
FAILED: gtk/libgtk.a.p/gtkbitset.c.o
i686-pc-linux-gnut64-gcc -Igtk/libgtk.a.p -Igtk -I../gtk-4.14.4/gtk -I. -I../gtk-4.14.4 -Igdk -I../gtk-4.14.4/gdk -Igsk -I../gtk-4.14.4/gsk -Igdk/x11 -I../gtk-4.14.4/gdk/x11 -Igtk/a11y/atspi -Igtk/css -Igdk/version -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -I/usr/include/libdrm -I/usr/include/lzo -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -DG_LOG_USE_STRUCTURED=1 -DGLIB_DISABLE_DEPRECATION_WARNINGS '-DGTK_VERSION="4.14.4"' -D_GNU_SOURCE -O2 -march=native -msse2 -mfpmath=sse -pipe -fPIC -pthread -DGTK_COMPILATION '-DG_LOG_DOMAIN="Gtk"' -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED '-DGTK_BINARY_VERSION="4.0.0"' '-DGTK_HOST="linux"' '-DGTK_DATA_PREFIX="/usr"' '-DX11_DATA_PREFIX="/usr"' -fno-strict-aliasing -Wno-missing-include-dirs -Wduplicated-branches -Wduplicated-cond -Wformat=2 -Wformat-nonliteral -Wformat-security -Wignored-qualifiers -Wimplicit-function-declaration -Wlogical-op -Wmisleading-indentation -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wuninitialized -Wunused -Waddress -Warray-bounds -Wempty-body -Wenum-int-mismatch -Wimplicit -Wimplicit-fallthrough -Wimplicit-fallthrough=5 -Winit-self -Wint-to-pointer-cast -Wmain -Wmissing-braces -Wmissing-declarations -Wmissing-prototypes -Wnonnull -Woverride-init -Wpointer-to-int-cast -Wredundant-decls -Wreturn-type -Wsequence-point -Wtrigraphs -Wvla -Wwrite-strings -Wcast-align -Wnull-dereference -fvisibility=hidden -MD -MQ gtk/libgtk.a.p/gtkbitset.c.o -MF gtk/libgtk.a.p/gtkbitset.c.o.d -o gtk/libgtk.a.p/gtkbitset.c.o -c ../gtk-4.14.4/gtk/gtkbitset.c
In file included from ../gtk-4.14.4/gtk/roaring/roaring.c:23,
from ../gtk-4.14.4/gtk/gtkbitset.c:24:
../gtk-4.14.4/gtk/roaring/roaring.h: In function ‘hamming’:
../gtk-4.14.4/gtk/roaring/roaring.h:260:18: error: implicit declaration of function ‘_mm_popcnt_u64’; did you mean ‘_mm_popcnt_u32’? [-Wimplicit-function-declaration]
260 | return (int) _mm_popcnt_u64(x);
| ^~~~~~~~~~~~~~
| _mm_popcnt_u32
../gtk-4.14.4/gtk/roaring/roaring.h:260:18: warning: nested extern declaration of ‘_mm_popcnt_u64’ [-Wnested-externs]
../gtk-4.14.4/gtk/roaring/roaring.h: In function ‘avx2_harley_seal_popcount256’:
../gtk-4.14.4/gtk/roaring/roaring.h:1011:23: error: implicit declaration of function ‘_mm256_extract_epi64’; did you mean ‘_mm256_extract_epi8’? [-Wimplicit-function-declaration]
1011 | return (uint64_t)(_mm256_extract_epi64(total, 0)) +
| ^~~~~~~~~~~~~~~~~~~~
| _mm256_extract_epi8
../gtk-4.14.4/gtk/roaring/roaring.h:1011:23: warning: nested extern declaration of ‘_mm256_extract_epi64’ [-Wnested-externs]
Full Log - gtk4.build.log.log
Version information
- Tested with 4.12 4.14 and 4.16
- Gentoo x86 glibc-time64 Testing
- Compile time with wayland and Xorg enabled
- What graphics driver / mesa version
Additional information
Distro bug report at https://bugs.gentoo.org/943705
Edited by immolo