Open
Description
What's the issue:
I'm getting compilation error trying to build isa-l HEAD
. Using newest GCC15 and compiling with -mavx10.1
flag.
How to reproduce:
- You can take fedora:42 docker image as it comes with GCC15
- Install prerequisites
- Clone isa-l
- Build steps:
autoreconf --install --symlink -f
mkdir -p build
cd build
../configure --prefix=$prefix --libdir=$libdir \
--enable-static --disable-shared \
--host=$(${CC-cc} -dumpmachine) \
CFLAGS="$CFLAGS -O2 -DNDEBUG"
make
where:
prefix=/usr/local
libdir=${prefix}/lib64
CFLAGS="-mavx10.1"
Build log:
../configure --prefix=$prefix --libdir=$libdir --enable-static --disable-shared --host=$(${CC-cc} -dumpmachine) CFLAGS="$CFLAGS -O2 -DNDEBUG"
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for x86_64-redhat-linux-strip... no
checking for strip... strip
checking for a race-free mkdir -p... /usr/sbin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking how to create a pax tar archive... gnutar
checking whether make supports the include directive... yes (GNU style)
checking for x86_64-redhat-linux-gcc... x86_64-redhat-linux-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-redhat-linux-gcc accepts -g... yes
checking for x86_64-redhat-linux-gcc option to enable C11 features... none needed
checking whether x86_64-redhat-linux-gcc understands -c and -o together... yes
checking dependency style of x86_64-redhat-linux-gcc... gcc3
checking dependency style of x86_64-redhat-linux-gcc... gcc3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/sbin/sed
checking for grep that handles long lines and -e... /usr/sbin/grep
checking for egrep... /usr/sbin/grep -E
checking for fgrep... /usr/sbin/grep -F
checking for ld used by x86_64-redhat-linux-gcc... /usr/sbin/ld
checking if the linker (/usr/sbin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for x86_64-redhat-linux-dumpbin... no
checking for x86_64-redhat-linux-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-redhat-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/sbin/ld option to reload object files... -r
checking for file... file
checking for x86_64-redhat-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-redhat-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-redhat-linux-ranlib... no
checking for ranlib... ranlib
checking for x86_64-redhat-linux-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-redhat-linux-strip... strip
checking command to parse nm output from x86_64-redhat-linux-gcc object... ok
checking for sysroot... no
checking for a working dd... ../configure: line 7847: cmp: command not found
../configure: line 7847: cmp: command not found
../configure: line 7847: cmp: command not found
../configure: line 7847: cmp: command not found
checking how to truncate binary pipes... /usr/sbin/sed -e 4q
checking for x86_64-redhat-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-redhat-linux-gcc supports -fno-rtti -fno-exceptions... ../configure: line 9702: diff: command not found
no
checking for x86_64-redhat-linux-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-redhat-linux-gcc PIC flag -fPIC -DPIC works... ../configure: line 10129: diff: command not found
no
checking if x86_64-redhat-linux-gcc static flag -static works... no
checking if x86_64-redhat-linux-gcc supports -c -o file.o... ../configure: line 10244: diff: command not found
no
checking if x86_64-redhat-linux-gcc supports -c -o file.o... (cached) no
checking if we can lock with hard links... yes
checking whether the x86_64-redhat-linux-gcc linker (/usr/sbin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for a sed that does not truncate output... (cached) /usr/sbin/sed
checking whether Intel CET is enabled... no
checking if /usr/sbin/ld -m elf_x86_64 supports -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now ... yes
checking for nasm... yes
checking for modern nasm... yes
Using nasm args target "linux" "-f elf64"
checking for limits.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for inline... inline
checking for size_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for GNU libc compatible malloc... yes
checking for memmove... yes
checking for memset... yes
checking for getopt... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libisal.pc
config.status: executing depfiles commands
config.status: executing libtool commands
isa-l 2.31.1
=====
prefix: /usr/local
sysconfdir: ${prefix}/etc
libdir: /usr/local/lib64
includedir: ${prefix}/include
compiler: x86_64-redhat-linux-gcc
cflags: -mavx10.1 -O2 -DNDEBUG
ldflags: -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now
debug: no
[root@1d7376834677 build]# make
Building isa-l.h
make --no-print-directory all-am
CC programs/igzip_cli.o
x86_64-redhat-linux-gcc: warning: ‘-mavx10.1’ is aliased to 512 bit since GCC14.3 and GCC15.1 while ‘-mavx10.1-256’ and ‘-mavx10.1-512’ will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: ‘-mavx10.1’ is aliased to 512 bit since GCC14.3 and GCC15.1 while ‘-mavx10.1-256’ and ‘-mavx10.1-512’ will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC erasure_code/ec_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC raid/raid_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC crc/crc_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC crc/crc64_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/igzip.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/hufftables_c.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/igzip_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/igzip_icf_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/adler32_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/flatten_ll.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/encode_df.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/igzip_icf_body.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/huff_codes.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC igzip/igzip_inflate.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC mem/mem_zero_detect_base.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
CC erasure_code/ec_highlevel_func.lo
x86_64-redhat-linux-gcc: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
cc1: warning: '-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported
MKTMP erasure_code/gf_vect_mul_sse.s
CCAS erasure_code/gf_vect_mul_sse.lo
mv: cannot stat 'gf_vect_mul_sse.o': No such file or directory
make[1]: *** [Makefile:4018: erasure_code/gf_vect_mul_sse.lo] Error 1
rm erasure_code/gf_vect_mul_sse.s
make: *** [Makefile:2508: all] Error 2
Observations:
I tried other flags and got passes in compilation process like: -mapxf
, mavx10.2
, -march=pantherlake
.
Moreover, I can compile with GCC14.2, so this might be related to change in -mavx10.1
behavior as they aliased it with 512 bit length.
Metadata
Metadata
Assignees
Labels
No labels