On Mon, Apr 12, 2021 at 1:34 PM Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote: > On Mon, 12 Apr 2021, 21:29 Jim Wilson, <jimw@xxxxxxxxxx> wrote: > >> On Mon, Apr 12, 2021 at 5:30 AM Jonathan Wakely via Gcc-help < >> gcc-help@xxxxxxxxxxx> wrote: >> >>> On Mon, 12 Apr 2021 at 13:10, John Hendry wrote: >>> > I'm trying to install gcc-10.3.0 on a 64-bit PC >>> running Crux Linux 3.5. Make gives the error "bit_AVX512VPTINTERSECT not >>> declared" in cpuinfo.c, line 392 or so, and then AVX512BF16 is not declared >>> 4 lines later. >>> >> > Thanks, Jim. Shouldn't #include "cpuid.h" mean it prefers the one in the > same directory though? > Normally. GCC is so complicated that I wouldn't be surprised if there is a way to accidentally break that. However, in this case, I think we are looking at the wrong file. The error is apparently from libgcc/config/i386/cpuinfo.c which is including gcc/config/i386/cpuid.h and in this case you definitely need to get the -I options right or the build can fail. Looks like the header file gets copied into gcc/include in the build dir, and is supposed to be found there. There is a -B option pointing at the gcc build tree, which then generates a -I option pointing to the gcc/include build dir, which is the seventh dir in the include list I see with the -v option. If someone has an environment variable or shell alias adding a -I option pointing to the system compiler's header file, then it might accidentally include the wrong cpuid.h file. Jim