Subject: bug#75080: closed (Re: bug#75080: guix pull fails on arm64 due to cmake DEB self-tests)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 04 Mar 2025 12:13:02 +0000

Your bug report

#75080: guix pull fails on arm64 due to cmake DEB self-tests

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75080: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75080
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#75080: guix pull fails on arm64 due to cmake DEB self-tests
From: Simon Josefsson <[email-masked]>
To: "Leo Famulari" <[email-masked]>
Cc: [email-masked], Ludovic Courtès <[email-masked]>
Date: Tue, 04 Mar 2025 13:11:51 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

"Leo Famulari" <[email-masked]> writes:

> On Wed, Feb 26, 2025, at 03:41, Simon Josefsson wrote:
>> Hi.  What do you mean by disabled isolation?  In the initial e-mail I
>> quoted the set of commands used which involved:
>>
>> (guix-daemon --disable-chroot --build-users-group=_guixbuild &
>>
>> Is that what you mean?
>
> Yes, I'm sorry I missed that and made you spell it out!
>
>> Is building things without build isolation not supposed to work?
>
> Not really. We do accept help patching upstream build scripts to fix
> issues like this one, but I don't think anyone is regularly testing
> Guix without the build chroot, and the warranty is definitely void
> when Guix is used this way. I think that countless build will break
> without the chroot, as build scripts will look for dependencies in the
> "wrong" (i.e. non-Guixy) places.

Thank you for explaining!  These internal things are still rather
sktechy to me.  It makes perfect sense now that I see it this way.

Fortunately it seems that building images without --disable-chroot now
appears to work for me (at least some of the time).  Here is a
successful arm64 Guix GitLab pipeline job where 'guix install' works:

https://gitlab.com/debdistutils/guix/container-selftests/-/jobs/9305446937

That container image was built from a pure Guix container image, which
in turn was built from a Debian+Guix container image.

So I think my original request was simply a misunderstanding, closing...

/Simon

Subject: guix pull fails on arm64 due to cmake DEB self-tests
From: Simon Josefsson <[email-masked]>
To: [email-masked]
Date: Wed, 25 Dec 2024 09:13:50 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

I'm running the following commands on a arm64 GitLab shared runner node:

export LC_ALL=C.UTF-8
apt-get update
apt-get install -y guix podman ca-certificates
(guix-daemon --disable-chroot --build-users-group=_guixbuild &
guix pull --url=https://gitlab.com/debdistutils/guix/mirror.git \
 || (ls -la /var/log/guix/drvs/*/*.drv.gz; zcat /var/log/guix/drvs/qz/9fsb0935lpyssgg9428w9rvsypbfgv-cmake-bootstrap-3.24.2.drv.gz)

I get a build failure regarding "cmake-bootstrap" shown here:

https://gitlab.com/debdistutils/guix/container/-/jobs/8717616613

I cannot reproduce this on my own arm64 machine running Trisquel.

It seems only cmake's DEB related self-tests fail:

The following tests FAILED:
	561 - RunCMake.CPack_DEB.CUSTOM_NAMES (Failed)
	562 - RunCMake.CPack_DEB.DEBUGINFO (Failed)
	563 - RunCMake.CPack_DEB.DEFAULT_PERMISSIONS (Failed)
	564 - RunCMake.CPack_DEB.DEPENDENCIES (Failed)
	565 - RunCMake.CPack_DEB.EMPTY_DIR (Failed)
	566 - RunCMake.CPack_DEB.VERSION (Failed)
	567 - RunCMake.CPack_DEB.EXTRA (Failed)
	568 - RunCMake.CPack_DEB.GENERATE_SHLIBS (Failed)
	569 - RunCMake.CPack_DEB.GENERATE_SHLIBS_LDCONFIG (Failed)
	571 - RunCMake.CPack_DEB.MINIMAL (Failed)
	572 - RunCMake.CPack_DEB.PER_COMPONENT_FIELDS (Failed)
	573 - RunCMake.CPack_DEB.TIMESTAMPS (Failed)
	574 - RunCMake.CPack_DEB.MD5SUMS (Failed)
	575 - RunCMake.CPack_DEB.DEB_PACKAGE_VERSION_BACK_COMPATIBILITY (Failed)
	576 - RunCMake.CPack_DEB.DEB_DESCRIPTION (Failed)
	577 - RunCMake.CPack_DEB.PROJECT_META (Failed)
Errors while running CTest

That make me believe that the minimal nature of the container has some
impact.  Maybe some missing environment variable or tool or something?
That is usually present during normal builds but not this build.

The first failure starts here:

https://gitlab.com/debdistutils/guix/container/-/jobs/8717616613#L1746

with output cited below.  I don't spot any obvious problem.  I suspect
something odd is happening when running 'dpkg'.

Any ideas how to debug this further?

/Simon

549/622 Test #561: RunCMake.CPack_DEB.CUSTOM_NAMES .............................***Failed    0.88 sec
-- CUSTOM_NAMES-COMPONENT-type - PASSED
-- CUSTOM_NAMES-COMPONENT-type-Build - PASSED
CMake Error at RunCMake.cmake:216 (message):
  DEB/CUSTOM_NAMES-COMPONENT-type - FAILED:
  Result is [1], not [0].
  stderr does not match that expected.
  Command was:
   command> "/tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/bin/cmake" "-DRunCMake_TEST=CUSTOM_NAMES-COMPONENT-type" "-DRunCMake_TEST_FILE_PREFIX=CUSTOM_NAMES" "-DRunCMake_SUBTEST_SUFFIX=" "-DGENERATOR_TYPE=DEB" "-DPACKAGING_TYPE=COMPONENT" "-Dsrc_dir=/tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/CPack" "-Dbin_dir=/tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/DEB.CUSTOM_NAMES/CPack/CUSTOM_NAMES-build" "-Dconfig_file=/tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/CPack/conf/DEB.CUSTOM_NAMES_config.cmake" "-P" "/tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.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.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/CPack/VerifyResult.cmake:84 (message):
   actual-err>   Unexpected file content for file 1!
   actual-err> 
   actual-err>   The content was:
   actual-err> 
   actual-err>    actual> 
   actual-err> 
   actual-err>   which does not match:
   actual-err> 
   actual-err>    expect> /usr;/usr/foo;/usr/foo/CMakeLists.txt
   actual-err> 
   actual-err>   CPack output:
   actual-err> 
   actual-err>    cpack-out> CPack: Create package using DEB
   actual-err>    cpack-out> CPack: Install projects
   actual-err>    cpack-out> CPack: - Run preinstall target for: CUSTOM_NAMES-COMPONENT-type
   actual-err>    cpack-out> CPack: - Install project: CUSTOM_NAMES-COMPONENT-type [Debug]
   actual-err>    cpack-out> CPack: -   Install component: pkg_1
   actual-err>    cpack-out> CPack: -   Install component: pkg_2
   actual-err>    cpack-out> CPack: -   Install component: pkg_3
   actual-err>    cpack-out> CPack: Create package
   actual-err>    cpack-out> -- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.
   actual-err>    cpack-out> -- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.
   actual-err>    cpack-out> -- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.
   actual-err>    cpack-out> CPack: - package: /tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/DEB.CUSTOM_NAMES/CPack/CUSTOM_NAMES-build/custom_names-pkg_1_0.1.1_arm64.deb generated.
   actual-err>    cpack-out> CPack: - package: /tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/DEB.CUSTOM_NAMES/CPack/CUSTOM_NAMES-build/second_0.1.1_arm64.deb generated.
   actual-err>    cpack-out> CPack: - package: /tmp/guix-build-cmake-bootstrap-3.24.2.drv-0/cmake-3.24.2/Tests/RunCMake/DEB.CUSTOM_NAMES/CPack/CUSTOM_NAMES-build/pkg_3_abc.deb generated.
   actual-err>    cpack-out> 
   actual-err> 
   actual-err>   CPack error:
   actual-err> 
   actual-err>    cpack-err> 
   actual-err> 
   actual-err>   CPack result:
   actual-err> 
   actual-err>    cpack-res> 
   actual-err> 
   actual-err>   CPack config file:
   actual-err> 
   actual-err>    cpack-cfg> set(DPKG_EXECUTABLE "/usr/bin/dpkg")
   actual-err>    cpack-cfg> set(READELF_EXECUTABLE "/gnu/store/pqai4n95zn5wdw430gslb00sb967jdg8-binutils-2.41/bin/readelf")
Call Stack (most recent call first):
  RunCMake.cmake:230 (run_cmake)
  CPack/CPackTestHelpers.cmake:119 (run_cmake_command)
  CPack/CPackTestHelpers.cmake:137 (run_cpack_test_common_)
  CPack/RunCMakeTest.cmake:11 (run_cpack_test)
        Start 562: RunCMake.CPack_DEB.DEBUGINFO