Hi, On Sat, 19 Oct 2019 at 08:11, Sitsofe Wheeler <sitsofe@xxxxxxxxx> wrote: > > Hi, > > On Fri, 18 Oct 2019 at 23:18, Astolfo Rueda <astolfor@xxxxxxxxxxxxx> wrote: > > > > Hello I am trying to build FIO and I get these errors. > > The server is windows 10, with latest Cygwin. > > > > What am I doing wrong? > > You're not doing anything wrong from what I can see - it looks like > sounds like some sort of compiler issue... > > > Thanks > > Astolfo > > > > > > /tmp/ccQfIUjv.s: Assembler messages: > > /tmp/ccQfIUjv.s:1188: Error: invalid register for .seh_savexmm > > make: *** [Makefile:376: filehash.o] Error 1 > > make: *** Waiting for unfinished jobs.... > > /tmp/ccZfFBQo.s: Assembler messages: > > /tmp/ccZfFBQo.s:3812: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3814: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3816: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3818: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3820: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3822: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3824: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3826: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3828: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3830: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3832: Error: invalid register for .seh_savexmm > > /tmp/ccZfFBQo.s:3834: Error: invalid register for .seh_savexmm > > make: *** [Makefile:379: options.o] Error 1 > > Hmm. This might be down to a compatibility issue between > x86_64-w64-mingw32-gcc and Windows when using AVX512 (and whether fio > defaults to compiling with such options will depend on the compilation > environment). If you do > > ./configure --extra-cflags="-fno-asynchronous-unwind-tables" > make -j > > etc. are things any better? So I've managed to find a recent Xeon server with Windows VM and I see the compile errors you describe on it too. Doing make clean ./configure --extra-cflags="-fno-asynchronous-unwind-tables" make -j fixes the "invalid register for .seh_savexmm" error for me. Another workaround is to disable the generation of problematic AVX instructions: make clean ./configure --extra-cflags="-mno-avx512f" make -j but the binary made might be ever so slightly slower (and you'd need incredibly fast disks and when I did a quick check with the null ioengine I actually found the non-AVX512 version of fio was faster in my VM...). It looks like this is the "gcc/mingw-gcc fails to align the stack properly to Windows' requirements when using AVX 512 instructions" issue: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412 https://stackoverflow.com/questions/30928265/mingw64-is-incapable-of-32-byte-stack-alignment-required-for-avx-on-windows-x64 https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin -- Sitsofe | http://sucs.org/~sits/