> On 13 Apr 2018, at 23:55, Joshua Root <[email protected]> wrote: > > On 2018-4-14 07:30 , Enrico Maria Crisostomo wrote: >> I think I found the culprit: >> >> % strings /opt/macports-2.4.3-dirty/libexec/macports/lib/libtcl8.5.dylib >> | grep 2\\.4\\. >> /opt/macports-2.4.2/libexec/macports/lib >> /opt/macports-2.4.2/libexec/macports/bin >> /opt/macports-2.4.2/libexec/macports/lib/tcl8.5 >> /opt/macports-2.4.2/libexec/macports/include >> /opt/macports-2.4.2/libexec/macports/man >> /opt/macports-2.4.3-dirty/libexec/macports/lib/tcl8.5 >> /opt/macports-2.4.3-dirty/libexec/macports/lib >> >> while the library built from the clean repo is right: >> >> % strings /opt/macports-2.4.3-clean/libexec/macports/lib/libtcl8.5.dylib >> | grep 2\\.4\\. >> /opt/macports-2.4.3-clean/libexec/macports/lib >> /opt/macports-2.4.3-clean/libexec/macports/bin >> /opt/macports-2.4.3-clean/libexec/macports/lib/tcl8.5 >> /opt/macports-2.4.3-clean/libexec/macports/include >> /opt/macports-2.4.3-clean/libexec/macports/man >> /opt/macports-2.4.3-clean/libexec/macports/lib/tcl8.5 >> /opt/macports-2.4.3-clean/libexec/macports/lib >> >> Hence, the macports installation that was built from the dirty tree is >> referring to the installation directory of the previous build. That also >> explains why removing that directory makes port crash, as I said in a >> previous mail. > > OK, so the issue is not with switching tags without cleaning at all, but > configuring for a different prefix without cleaning. The bug is in one > of Tcl's Makefiles, which compiles tclPkgConfig.c with several -D flags > using values that are directly substituted into the Makefile by > autoconf. There should probably be a dependency declared on the Makefile > itself. > > - Josh
Thanks Josh. You're right, and thanks to your pointing out the file involved I've just added a dependency from tclPkgConfig.o to the Makefile itself and the problem disappears. Here's a PR: https://github.com/macports/macports-base/pull/79 I'm not merging until somebody has a look at it. Cheers, -- Enrico
