intel / idxd-config

Accel-config / libaccel-config
Other
56 stars 35 forks source link

32 bit x86 build fails due to undefined reference __builtin_ia32_mfence #35

Closed ColinIanKing closed 10 months ago

ColinIanKing commented 1 year ago

I'm seeing a failed to build from source issue on i386 debian builds:

see: https://buildd.debian.org/status/package.php?p=accel-config

Summary:


libtool: link: gcc -Wall -Wchar-subscripts -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wshadow -Wsign-compare -Wstrict-prototypes -Wtype-limits -Wmaybe-uninitialized -Wdeclaration-after-statement -Wunused-result -D_FORTIFY_SOURCE=2 -O2 -fvisibility=hidden -ffunction-sections -fdata-sections -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -pedantic -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -o .libs/iaa_test iaa_test.o iaa.o iaa_prep.o accel_test.o algorithms/iaa_crc64.o algorithms/iaa_zcompress.o algorithms/iaa_compress.o algorithms/iaa_filter.o algorithms/iaa_crypto.o  -lz -lcrypto ../accfg/lib/.libs/libaccel-config.so -luuid
/usr/bin/ld: iaa.o: in function `iaa_transl_fetch_multi_task_nodes':
./test/./test/iaa.c:1875: undefined reference to `__builtin_ia32_mfence'
ColinIanKing commented 1 year ago

I a bit stumped why this occurs for i386 debian builds. for the moment I uploaded a patch that replaced builtin_ia32_mfence with asm volatile__ ("mfence" ::: "memory") instead.

ramesh-thomas commented 10 months ago

Your patch fixing this is in 4.1.1 https://github.com/intel/idxd-config/releases/tag/accel-config-v4.1.1