Since the move to Ubuntu 26.04 our sparse build frequently fails with:

  INSTALL /home/runner/bin/sparsec
  INSTALL /home/runner/share/man/man1/sparse.1
  INSTALL /home/runner/share/man/man1/cgcc.1
  install: cannot create directory '/home/runner/share/man/man1'
  make: *** [Makefile:309: /home/runner/share/man/man1/sparse.1] Error 1

This is caused by a known bug in Rust uutils that fails install -D if
the directory is created in parallel by another process:

  https://github.com/uutils/coreutils/issues/12355

The issue is fixed upstream, but it's not clear when the fixed v0.12.0
will find its way into Ubuntu 26.04 repositories, if at all.

Let's keep the parallel build, but install serially as a workaround.
Need to pass the HAVE_SQLITE into both, as both commands are using it.

Signed-off-by: Ilya Maximets <[email protected]>
---
 .ci/linux-prepare.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh
index 51e5a7e7d..1aa482e76 100755
--- a/.ci/linux-prepare.sh
+++ b/.ci/linux-prepare.sh
@@ -14,7 +14,11 @@ fi
 # really need this utility being installed.
 if test -d sparse; then
     pushd sparse
-    make -j4 HAVE_SQLITE= install
+    make -j4 HAVE_SQLITE=
+    # Install as a separate command with no parallelization until
+    # rust-coreutils 0.12.0+ lands in Ubuntu 26.04:
+    #   https://github.com/uutils/coreutils/issues/12355
+    make HAVE_SQLITE= install
     popd
 fi
 
-- 
2.56.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to