https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104006
Bug ID: 104006 Summary: [12 regression] power-ieee128 merge breaks Solaris build Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libfortran Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: jakub at gcc dot gnu.org, tkoenig at gcc dot gnu.org Target Milestone: --- Target: *-*-solaris2.11 Between 20220111 and 20220112, Solaris bootstrap (both sparc and x86) got badly broken, obviously due to the power-ieee128 merge: * Initially, the build aborted with make[2]: *** No rule to make target 'gfortran.ver-sun', needed by 'all'. Stop. This can easily be fixed by renaming the target to gfortran.ver-sun. * What's way worse, however, is that parallel builds fail repeatedly in libgfortran: On x86 (-j48), I get In file included from /vol/gcc/src/hg/master/local/libgfortran/runtime/bounds.c:25: /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:393:31: error: unknown type name 'GFC_REAL_4' 393 | typedef GFC_ARRAY_DESCRIPTOR (GFC_REAL_4) gfc_array_r4; | ^~~~~~~~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:375:3: note: in definition of macro 'GFC_ARRAY_DESCRIPTOR' 375 | type *base_addr;\ | ^~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:394:31: error: unknown type name 'GFC_REAL_8' 394 | typedef GFC_ARRAY_DESCRIPTOR (GFC_REAL_8) gfc_array_r8; | ^~~~~~~~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:375:3: note: in definition of macro 'GFC_ARRAY_DESCRIPTOR' 375 | type *base_addr;\ | ^~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:404:31: error: unknown type name 'GFC_COMPLEX_4' 404 | typedef GFC_ARRAY_DESCRIPTOR (GFC_COMPLEX_4) gfc_array_c4; | ^~~~~~~~~~~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:375:3: note: in definition of macro 'GFC_ARRAY_DESCRIPTOR' 375 | type *base_addr;\ | ^~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:405:31: error: unknown type name 'GFC_COMPLEX_8' 405 | typedef GFC_ARRAY_DESCRIPTOR (GFC_COMPLEX_8) gfc_array_c8; | ^~~~~~~~~~~~~ /vol/gcc/src/hg/master/local/libgfortran/libgfortran.h:375:3: note: in definition of macro 'GFC_ARRAY_DESCRIPTOR' 375 | type *base_addr;\ | ^~~~ also for several other files. All those definitions live in the generated kinds.h. I cannot yet tell if the header isn't generated atomically. On sparc (-j64), I get instead: /vol/gcc/src/hg/master/local/libgfortran/ieee/ieee_exceptions.F90:28:2: 28 | #include "c99_protos.inc" | 1~~~~~~~~~~ Fatal Error: kinds.inc: No such file or directory I notice that there's no .deps/*.Plo file for this source file; probably some dependencies are missing. Manually restarting the libgfortran build (often several times) ultimately lets the build succeed. For comparison's sake I also tried -j64 builds on x86_64-pc-linux-gnu and i686-pc-linux-gnu. Both succeeded without issues.