Subject: [core-updates-frozen] CMake fails to build on i686-linux

From: Ludovic Courtès <[email-masked]>
Date: Thu, 16 Sep 2021 11:41:09 +0200

On ‘core-updates-frozen’, CMake has one test failure on i686-linux when
building on berlin (e.g., <https://ci.guix.gnu.org/build/790602/log/raw>):

--8<---------------cut here---------------start------------->8---
545/558 Test #518: RunCMake.CPack_TXZ ................................***Failed    3.79 sec
-- MINIMAL-MONOLITHIC-type - PASSED
-- TXZ/MINIMAL-MONOLITHIC-type - PASSED
-- MINIMAL-COMPONENT-type - PASSED
-- TXZ/MINIMAL-COMPONENT-type - PASSED
-- MINIMAL-package-target-MONOLITHIC-type - PASSED
-- TXZ/MINIMAL-package-target-MONOLITHIC-type - PASSED
-- MINIMAL-package-target-COMPONENT-type - PASSED
-- TXZ/MINIMAL-package-target-COMPONENT-type - PASSED
-- THREADED_ALL-package-target-MONOLITHIC-type - PASSED
CMake Error at RunCMake.cmake:201 (message):
  TXZ/THREADED_ALL-package-target-MONOLITHIC-type - FAILED:

  Result is [1], not [0].

  stderr does not match that expected.

  Command was:

   command> "/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/bin/cmake" "-DRunCMake_TEST=THREADED_ALL-package-target-MONOLITHIC-type" "-DRunCMake_TEST_FILE_PREFIX=THREADED_ALL" "-DRunCMake_SUBTEST_SUFFIX=" "-DGENERATOR_TYPE=TXZ" "-DPACKAGING_TYPE=MONOLITHIC" "-Dsrc_dir=/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/CPack" "-Dbin_dir=/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/TXZ/CPack/THREADED_ALL-package-target-build" "-Dconfig_file=/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/CPack/conf/TXZ_config.cmake" "-P" "/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/CPack/VerifyResult.cmake"

  Actual stdout:

   actual-out>

  Expected stderr to match:

   expect-err> ^$

  Actual stderr:

   actual-err> CMake Error at /tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/CPack/VerifyResult.cmake:88 (message):
   actual-err>   Found more than one file for file No.  '1'! Found files count '0'.  Files:
   actual-err>   '' Globbing expression: 'threaded_all-0.1.1-*.tar.xz'
   actual-err>
   actual-err>   CPack output: 'make[1]: Entering directory
   actual-err>   '/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/TXZ/CPack/THREADED_ALL-package-target-build'
   actual-err>
   actual-err>
   actual-err>   Run CPack packaging tool...
   actual-err>
   actual-err>   CPack: Create package using TXZ
   actual-err>
   actual-err>   CPack: Install projects
   actual-err>
   actual-err>   CPack: - Run preinstall target for:
   actual-err>   THREADED_ALL-package-target-MONOLITHIC-type
   actual-err>
   actual-err>   CPack: - Install project: THREADED_ALL-package-target-MONOLITHIC-type []
   actual-err>
   actual-err>   CPack: Create package
   actual-err>
   actual-err>   make[1]: Leaving directory
   actual-err>   '/tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/TXZ/CPack/THREADED_ALL-package-target-build'
   actual-err>
   actual-err>
   actual-err>   '
   actual-err>
   actual-err>   CPack error: 'CPack Error: Problem to open archive
   actual-err>   </tmp/guix-build-cmake-bootstrap-3.20.2.drv-0/cmake-3.20.2/Tests/RunCMake/TXZ/CPack/THREADED_ALL-package-target-build/_CPack_Packages/Linux/TXZ/threaded_all-0.1.1-Linux.tar.xz>,
   actual-err>   ERROR = archive_write_open: Internal error initializing compression
   actual-err>   library: Cannot allocate memory
   actual-err>
   actual-err>   CPack Error: Problem compressing the directory
   actual-err>
   actual-err>   CPack Error: Error when generating package: threaded_all
   actual-err>
   actual-err>   make[1]: *** [Makefile:146: package] Error 1
   actual-err>
   actual-err>   ';
   actual-err>
   actual-err>   CPack result: '';
   actual-err>
   actual-err>   config file: ''

Call Stack (most recent call first):
  RunCMake.cmake:215 (run_cmake)
  CPack/CPackTestHelpers.cmake:119 (run_cmake_command)
  CPack/CPackTestHelpers.cmake:143 (run_cpack_test_common_)
  CPack/RunCMakeTest.cmake:24 (run_cpack_test_package_target)
--8<---------------cut here---------------end--------------->8---

I cannot reproduce it on hardware with 32 cores.  I suspect it has to do
with the number of threads used for xz compression, which defaults to
the number of cores, and some of the build machines on berlin have way
more cores.

Ludo’.