Commit: patch 9.1.1055: make install fails because of a missing dependency

7 views
Skip to first unread message

Christian Brabandt

unread,
Jan 28, 2025, 5:45:16 AM1/28/25
to vim...@googlegroups.com
patch 9.1.1055: make install fails because of a missing dependency

Commit: https://github.com/vim/vim/commit/04cc8975930b7b2c5d6753d3eddf57dab2816518
Author: Sergei Trofimovich <sly...@gmail.com>
Date: Tue Jan 28 11:37:52 2025 +0100

patch 9.1.1055: make install fails because of a missing dependency

Problem: make install fails because of a missing dependency
Solution: add explicit dependencies for tutor/{en,it}
(Sergei Trofimovich)

Without the change `make install -j16` fails
sometimes due to race condition to create a directory.

It's best reproducible with `make --shuffle`:

$ make install --shuffle
...
bash install-sh -c -d /vim-9.1.0990/share/vim/vim91/tutor
chmod 755 /vim-9.1.0990/share/vim/vim91/tutor
cp ../runtime/tutor/README* ../runtime/tutor/tutor* /vim-9.1.0990/share/vim/vim91/tutor
cp ../runtime/tutor/en/* /vim-9.1.0990/share/vim/vim91/tutor/en/
cp: target '/vim-9.1.0990/share/vim/vim91/tutor/en/': No such file or directory
make[1]: [Makefile:2487: installtutor] Error 1 (ignored) shuffle=2340321974
cp ../runtime/tutor/it/* /vim-9.1.0990/share/vim/vim91/tutor/it/
cp: target '/vim-9.1.0990/share/vim/vim91/tutor/it/': No such file or directory
make[1]: [Makefile:2488: installtutor] Error 1 (ignored) shuffle=2340321974

The fix adds a dependency on targeted directories used to install tutor.

Before the change it too 2-3 attempts to reproduce the install failure.
After the change `vim` survives 150 install attempts without failures.

closes: #16531

Signed-off-by: Sergei Trofimovich <sly...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/Makefile b/src/Makefile
index 19d1dca9b..3e9a2403e 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2482,7 +2482,7 @@ installgtutorbin: $(DEST_BIN)
$(INSTALL_DATA) gvimtutor $(DEST_BIN)/$(GVIMNAME)tutor
chmod $(SCRIPTMOD) $(DEST_BIN)/$(GVIMNAME)tutor

-installtutor: $(DEST_RT) $(DEST_TUTOR)
+installtutor: $(DEST_RT) $(DEST_TUTOR)/en $(DEST_TUTOR)/it
-$(INSTALL_DATA) $(TUTORSOURCE)/README* $(TUTORSOURCE)/tutor* $(DEST_TUTOR)
-$(INSTALL_DATA) $(TUTORSOURCE)/en/* $(DEST_TUTOR)/en/
-$(INSTALL_DATA) $(TUTORSOURCE)/it/* $(DEST_TUTOR)/it/
diff --git a/src/version.c b/src/version.c
index f1455002f..450bcdfaa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1055,
/**/
1054,
/**/
Reply all
Reply to author
Forward
0 new messages