port version reports 2.4.2 when built from tag v2.4.3

Enrico Maria Crisostomo enrico.m.crisostomo at gmail.com
Sat Apr 14 14:09:44 UTC 2018


> On 13 Apr 2018, at 23:55, Joshua Root <jmr at macports.org> 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


More information about the macports-dev mailing list