Ups! Not a GCC issue, but still relevant to all us... The issue happens only if using ccache. I have the system ccache package installed, and ccache is used via symlinks.
$ mpicc -show gcc -I/usr/include/mpich-x86_64 -L/usr/lib64/mpich/lib -Wl,-rpath -Wl,/usr/lib64/mpich/lib -Wl,--enable-new-dtags -lmpi $ which gcc /usr/lib64/ccache/gcc Rebuilding this way: $ make clean ... $ MPICH_CC=/usr/bin/gcc make ... $ head -n 3 arch-linux2-c-debug/obj/sys/objects/init.d arch-linux2-c-debug/obj/sys/objects/init.o: \ /home/devel/petsc/dev/src/sys/objects/init.c \ /home/devel/petsc/dev/include/petscsys.h \ so I'm back to normal. Now I need to figure out if this is a ccache miss-configuration (maybe from legacy values in my $HOME config file) or something else. On Mon, 20 Jan 2020 at 18:42, <j...@jedbrown.org> wrote: > Ah, you're right. I'm still suspicious about how this behavior appeared on > your machine. Would be interesting to check a vanilla build or gcc-10 > branch. I'm still learning toward it being unintentional. > > On Jan 20, 2020 07:57, Lisandro Dalcin <dalc...@gmail.com> wrote: > > > > On Mon, 20 Jan 2020 at 17:07, Jed Brown <j...@jedbrown.org> wrote: > > From my man page (contradicting the behavior Lisandro observed): > > -MD -MD is equivalent to -M -MF file, except that -E is not implied. > The driver > determines file based on whether an -o option is given. If it is, > the driver uses > its argument but with a suffix of .d, otherwise it takes the name > of the input > file, removes any directory components and suffix, and applies a .d > suffix. > > > Lisandro, what does your man page say? > > > It says exactly the same. But you are confusing the flag, -MF is about > naming the output dep filename, i.e. ompi-optg/obj/sys/objects/init.d in > your example, that is just fine, I do get that file with that name. > My issue is with the contents GCC writes within that dep file, > specifically the TARGET, which can be specified with -MT, but it is > cumbersome to do, unless you use "-MT $@", though no idea how to update > configure for that. > > > -- > Lisandro Dalcin > ============ > Research Scientist > Extreme Computing Research Center (ECRC) > King Abdullah University of Science and Technology (KAUST) > http://ecrc.kaust.edu.sa/ > > > -- Lisandro Dalcin ============ Research Scientist Extreme Computing Research Center (ECRC) King Abdullah University of Science and Technology (KAUST) http://ecrc.kaust.edu.sa/