Subject: Re: bug#3883: Interleaved builds in separate trees create different versions

From: Mauro Aranda <[email-masked]>
Date: Fri, 14 Mar 2025 09:06:26 -0300

Rob Browning <[email-masked]> writes:

 > If you try to build two trees from the same source directory at the
 > same time, alternating the respective SRCDIR/configure, make, and make
 > install operations, the first tree will end up with a ".2" version while
 > the second tree will end up with a ".1" version.  This doesn't happen if
 > you don't have separate "make" and "make install" steps.
 >
 > I don't know if this behavior is intentional, but in case it's not, I
 > thought I'd report it.
 >
 > You can trivially reproduce the situation with this script (using the
 > 23.0.96 archive), and note that the same thing still happens if you omit
 > the differing configure arguments:
 >
 > #!/bin/bash
 >
 > set -e
 > set -x
 >
 > tar xf emacs-23.0.96.tar.gz
 >
 > mkdir -p build/1
 > mkdir -p build/2
 >
 > (cd build/1 && ../../emacs-23.0.96/configure --with-x=yes)
 > (cd build/2 && ../../emacs-23.0.96/configure --with-x=no)
 >
 > (cd build/1 && make)
 > (cd build/2 && make)
 >
 > mkdir -p install/1
 > mkdir -p install/2
 >
 > inst_1="$(pwd)/install/1"
 > inst_2="$(pwd)/install/2"
 >
 > (cd build/1 && make DESTDIR="${inst_1}")
 > (cd build/2 && make DESTDIR="${inst_2}")
 >
 > find -name "emacs-23.*"
 > find -name "DOC*"

I'm not able to reproduce it.  This was 16 years ago, perhaps it got
fixed someway? I can't tell it from the Makefile, but perhaps someone
can.