On Tue, 13 Apr 2021, 20:33 Jim Wilson, <jimw@xxxxxxxxxx> wrote: > 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 > Oh good point! I somehow didn't notice that the first component of those paths is different, so it's definitely affected by the include search order. 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 > >