<div dir="ltr"><div>Indeed! First bug fix listed here: <a href="https://ccache.dev/releasenotes.html#_ccache_3_7_7">https://ccache.dev/releasenotes.html#_ccache_3_7_7</a></div><div><br></div><div>Thanks all and sorry for the noise!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 20 Jan 2020 at 21:33, Balay, Satish <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">And looks like the issue is fixed in ccache 3.7.7<br>
<br>
Satish<br>
<br>
-------<br>
<br>
balay@sb /home/balay/petsc (master=)<br>
$ which gcc<br>
/usr/lib64/ccache/gcc<br>
balay@sb /home/balay/petsc (master=)<br>
$ ccache --version<br>
ccache version 3.7.7<br>
<br>
Copyright (C) 2002-2007 Andrew Tridgell<br>
Copyright (C) 2009-2020 Joel Rosdahl<br>
<br>
This program is free software; you can redistribute it and/or modify it under<br>
the terms of the GNU General Public License as published by the Free Software<br>
Foundation; either version 3 of the License, or (at your option) any later<br>
version.<br>
balay@sb /home/balay/petsc (master=)<br>
$ make clean<br>
/usr/bin/rm -f -r ./arch-linux-c-debug/tests ./arch-linux-c-debug/tests/testfiles<br>
/usr/bin/rm -f -r arch-linux-c-debug/obj arch-linux-c-debug/lib/libpetsc* /home/balay/petsc/arch-linux-c-debug/include/petsc*.mod  arch-linux-c-debug/lib/petsc/conf/files<br>
balay@sb /home/balay/petsc (master=)<br>
$ make -f gmakefile arch-linux-c-debug/obj/sys/objects/init.o<br>
/usr/bin/python ./config/gmakegen.py --petsc-arch=arch-linux-c-debug<br>
/usr/bin/python /home/balay/petsc/config/gmakegentest.py --petsc-dir=/home/balay/petsc --petsc-arch=arch-linux-c-debug --testdir=./arch-linux-c-debug/tests<br>
Use "/usr/bin/gmake V=1" to see verbose compile lines, "/usr/bin/gmake V=0" to suppress.<br>
          CC arch-linux-c-debug/obj/sys/objects/init.o<br>
balay@sb /home/balay/petsc (master=)<br>
$ head -n 3 arch-linux-c-debug/obj/sys/objects/init.d<br>
arch-linux-c-debug/obj/sys/objects/init.o: \<br>
 /home/balay/petsc/src/sys/objects/init.c \<br>
 /home/balay/petsc/include/petscsys.h \<br>
balay@sb /home/balay/petsc (master=)<br>
$ make -f gmakefile arch-linux-c-debug/obj/sys/objects/init.o<br>
make: 'arch-linux-c-debug/obj/sys/objects/init.o' is up to date.<br>
balay@sb /home/balay/petsc (master=)<br>
$ touch /home/balay/petsc/include/petscsys.h<br>
balay@sb /home/balay/petsc (master=)<br>
$ make -f gmakefile arch-linux-c-debug/obj/sys/objects/init.o<br>
Use "/usr/bin/gmake V=1" to see verbose compile lines, "/usr/bin/gmake V=0" to suppress.<br>
          CC arch-linux-c-debug/obj/sys/objects/init.o<br>
balay@sb /home/balay/petsc (master=)<br>
$ <br>
<br>
<br>
<br>
On Mon, 20 Jan 2020, Balay, Satish via petsc-dev wrote:<br>
<br>
> Downgrading to ccache-3.4.3-2.fc30.x86_64.rpm [on F31] changes this behavior for me.<br>
> <br>
> Satish<br>
> <br>
> -----<br>
> <br>
> wget <a href="https://kojipkgs.fedoraproject.org//packages/ccache/3.4.3/2.fc30/x86_64/ccache-3.4.3-2.fc30.x86_64.rpm" rel="noreferrer" target="_blank">https://kojipkgs.fedoraproject.org//packages/ccache/3.4.3/2.fc30/x86_64/ccache-3.4.3-2.fc30.x86_64.rpm</a><br>
> rpm -Uvh --oldpackage ccache-3.4.3-2.fc30.x86_64.rpm<br>
> <br>
> ------<br>
> <br>
> $ head -n 3 arch-linux-c-debug/obj/sys/objects/init.d<br>
> arch-linux-c-debug/obj/sys/objects/init.o: \<br>
>  /home/balay/petsc/src/sys/objects/init.c \<br>
>  /home/balay/petsc/include/petscsys.h \<br>
> <br>
> <br>
> <br>
> <br>
> On Mon, 20 Jan 2020, Lisandro Dalcin wrote:<br>
> <br>
> > Ups! Not a GCC issue, but still relevant to all us...<br>
> > <br>
> > The issue happens only if using ccache. I have the system ccache package<br>
> > installed, and ccache is used via symlinks.<br>
> > <br>
> > $ mpicc -show<br>
> > gcc -I/usr/include/mpich-x86_64 -L/usr/lib64/mpich/lib -Wl,-rpath<br>
> > -Wl,/usr/lib64/mpich/lib -Wl,--enable-new-dtags -lmpi<br>
> > $ which gcc<br>
> > /usr/lib64/ccache/gcc<br>
> > <br>
> > Rebuilding this way:<br>
> > <br>
> > $ make clean<br>
> > ...<br>
> > $ MPICH_CC=/usr/bin/gcc make<br>
> > ...<br>
> > $ head -n 3 arch-linux2-c-debug/obj/sys/objects/init.d<br>
> > arch-linux2-c-debug/obj/sys/objects/init.o: \<br>
> >  /home/devel/petsc/dev/src/sys/objects/init.c \<br>
> >  /home/devel/petsc/dev/include/petscsys.h \<br>
> > <br>
> > so I'm back to normal.<br>
> > <br>
> > Now I need to figure out if this is a ccache miss-configuration (maybe from<br>
> > legacy values in my $HOME config file) or something else.<br>
> > <br>
> > <br>
> > On Mon, 20 Jan 2020 at 18:42, <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br>
> > <br>
> > > Ah, you're right. I'm still suspicious about how this behavior appeared on<br>
> > > your machine. Would be interesting to check a vanilla build or gcc-10<br>
> > > branch. I'm still learning toward it being unintentional.<br>
> > ><br>
> > > On Jan 20, 2020 07:57, Lisandro Dalcin <<a href="mailto:dalcinl@gmail.com" target="_blank">dalcinl@gmail.com</a>> wrote:<br>
> > ><br>
> > ><br>
> > ><br>
> > > On Mon, 20 Jan 2020 at 17:07, Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br>
> > ><br>
> > > From my man page (contradicting the behavior Lisandro observed):<br>
> > ><br>
> > >    -MD -MD is equivalent to -M -MF file, except that -E is not implied.<br>
> > > The driver<br>
> > >        determines file based on whether an -o option is given.  If it is,<br>
> > > the driver uses<br>
> > >        its argument but with a suffix of .d, otherwise it takes the name<br>
> > > of the input<br>
> > >        file, removes any directory components and suffix, and applies a .d<br>
> > > suffix.<br>
> > ><br>
> > ><br>
> > > Lisandro, what does your man page say?<br>
> > ><br>
> > ><br>
> > > It says exactly the same. But you are confusing the flag, -MF is about<br>
> > > naming the output dep filename, i.e. ompi-optg/obj/sys/objects/init.d in<br>
> > > your example, that is just fine, I do get that file with that name.<br>
> > > My issue is with the contents GCC writes within that dep file,<br>
> > > specifically the TARGET, which can be specified with -MT, but it is<br>
> > > cumbersome to do, unless you use "-MT $@", though no idea how to update<br>
> > > configure for that.<br>
> > ><br>
> > ><br>
> > > --<br>
> > > Lisandro Dalcin<br>
> > > ============<br>
> > > Research Scientist<br>
> > > Extreme Computing Research Center (ECRC)<br>
> > > King Abdullah University of Science and Technology (KAUST)<br>
> > > <a href="http://ecrc.kaust.edu.sa/" rel="noreferrer" target="_blank">http://ecrc.kaust.edu.sa/</a><br>
> > ><br>
> > ><br>
> > ><br>
> > <br>
> > <br>
> <br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Lisandro Dalcin<br>============<br>Research Scientist<br>Extreme Computing Research Center (ECRC)<br>King Abdullah University of Science and Technology (KAUST)<br><a href="http://ecrc.kaust.edu.sa/" target="_blank">http://ecrc.kaust.edu.sa/</a><br></div></div></div>