intel / isa-l

Intelligent Storage Acceleration Library
Other
943 stars 299 forks source link

yasm-1.3.0 fails to compiler isa-l: error: unknown preprocessor directive `%use' #294

Open yurivict opened 1 month ago

yurivict commented 1 month ago

configure searches for either yasm or nasm, but yasm fails:

libtool: compile:  ./tools/yasm-filter.sh -f elf64 -I ./include/ -I ./erasure_code -I ./crc -I ./igzip -I ./tests/fuzz -I ./examples/ec -DPACKAGE_NAME=\"libisal\" -DPACKAGE_TARNAME=\"isa-l\" -DPACKAGE_VERSION=\"2.31.0\" "-DPACKAGE_STRING=\"libisal 2.31.0\"" -DPACKAGE_BUGREPORT=\"https://github.com/intel/isa-l/issues\" -DPACKAGE_URL=\"\" -DPACKAGE=\"isa-l\" -DVERSION=\"2.31.0\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEmem/mem_zero_detect_avx512.s:70: error: unknown preprocessor directive `%use'
mem/mem_zero_detect_avx512.s:70: error: label or instruction expected at start of line
M_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DAS_FEATURE_LEVEL=4 -DHAVE_LIMITS_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MALLOC=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_GETOPT=1 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -c mem/mem_zero_detect_avx2.s  -fPIC -DPIC -o mem/.libs/mem_zero_detect_avx2.o
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: undefined symbol `ktestq.mem_z_small_block' (first use)
mem/mem_zero_detect_avx512.s:70: error:  (Each undefined symbol is reported only once.)
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: undefined symbol `kmovq.mem_z_loop' (first use)
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `{'
mem/mem_zero_detect_avx512.s:70: warning: ignoring unrecognized character `}'
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
mem/mem_zero_detect_avx512.s:70: error: instruction expected after label
gmake[1]: *** [Makefile:3777: mem/mem_zero_detect_avx512.lo] Error 1
gmake[1]: *** Waiting for unfinished jobs....
mem/mem_zero_detect_avx2.s:70: error: unknown preprocessor directive `%use'
mem/mem_zero_detect_avx2.s:70: error: label or instruction expected at start of line
mem/mem_zero_detect_avx2.s:70: error: instruction expected after label
gmake[1]: *** [Makefile:3777: mem/mem_zero_detect_avx2.lo] Error 1
rm mem/mem_zero_detect_avx2.s mem/mem_zero_detect_avx512.s
gmake: *** [Makefile:2363: all] Error 2
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Version: 2.31.0 clang-18 FreeBSD 14.1

pablodelara commented 1 month ago

Thanks for reporting this. We planned to deprecate YASM and use NASM only from the next release, given that YASM is lacking support for certain instruction sets.