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

Reply via email to