GNU bug report logs

#76933 Test suite broken due to file name limits

PackageSource(s)Maintainer(s)
guix PTS Buildd Popcon
Reply or subscribe to this bug. View this bug as an mbox, status mbox, or maintainer mbox

Report forwarded to bug-guix@gnu.org:
bug#76933; Package guix. (Tue, 11 Mar 2025 07:17:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
New bug report received and forwarded. Copy sent to bug-guix@gnu.org. (Tue, 11 Mar 2025 07:17:02 GMT) (full text, mbox, link).


Message #5 received at submit@debbugs.gnu.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: bug-guix@gnu.org
Subject: Test suite broken due to file name limits
Date: Tue, 11 Mar 2025 00:15:30 -0700
[Message part 1 (text/plain, inline)]
Guix seems to be a bit overly cautious about the filename lengths used
in the test suite:

https://buildd.debian.org/status/fetch.php?pkg=guix&arch=amd64&ver=1.4.0%2B154709.ab1b557d8f3-1&stamp=1740103252&raw=1

  make  check-TESTS check-local
  make[5]: Entering directory '/build/reproducible-path/guix-1.4.0+154709.ab1b557d8f3'
  make[6]: Entering directory '/build/reproducible-path/guix-1.4.0+154709.ab1b557d8f3'
  ============================================================================
  Testsuite summary for GNU Guix 1.4.0+154709.ab1b557d8f3
  ============================================================================
  # TOTAL: 0
  # PASS:  0
  # SKIP:  0
  # XFAIL: 0
  # FAIL:  0
  # XPASS: 0
  # ERROR: 0
  ============================================================================
  make[6]: Leaving directory
  '/build/reproducible-path/guix-1.4.0+154709.ab1b557d8f3'
  
  Cannot run tests because file name limits would be exceeded.
  Look for 'length' in the 'config.log' file for details.


That is a base build path of only 55 characters. I managed to get it to
build successfully by shortening it down to use a version that was only
49 characters total... but that leaves very little wiggle room...

While that is an unusually long version number as part of the
directory(it a version roughly based on the output of "git
describe")... this seems likely to be a fairly arbitrary and unecessary
length limit, at least with any reasonably modern filesystem...


In another build performed where this check failed with 50 character
build paths, I checked config.log:

  $ grep length config.log
  configure:7282: checking the length of the installed socket file name
  configure:7305: checking the length of the socket file name used in tests
  configure:7316: checking the length of a typical hash bang line
  configure:7328: checking the length of a hash bang line used in tests
  ac_cv_guix_hash_bang_length=73
  ac_cv_guix_socket_file_name_length=30
  ac_cv_guix_test_hash_bang_length=127
  ac_cv_guix_test_socket_file_name_length=90

File name limits of 90 characters? Many store items are much longer than
that!

Why is this check implemented, and do we really still need it? :)


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix@gnu.org:
bug#76933; Package guix. (Mon, 14 Apr 2025 18:26:02 GMT) (full text, mbox, link).


Message #8 received at 76933@debbugs.gnu.org (full text, mbox, reply):

From: Ludovic Courtès <ludo@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 76933@debbugs.gnu.org
Subject: Re: bug#76933: Test suite broken due to file name limits
Date: Mon, 14 Apr 2025 19:01:17 +0200
Hi Vagrant,

Vagrant Cascadian <vagrant@debian.org> writes:

> In another build performed where this check failed with 50 character
> build paths, I checked config.log:
>
>   $ grep length config.log
>   configure:7282: checking the length of the installed socket file name
>   configure:7305: checking the length of the socket file name used in tests
>   configure:7316: checking the length of a typical hash bang line
>   configure:7328: checking the length of a hash bang line used in tests
>   ac_cv_guix_hash_bang_length=73
>   ac_cv_guix_socket_file_name_length=30
>   ac_cv_guix_test_hash_bang_length=127
>   ac_cv_guix_test_socket_file_name_length=90
>
> File name limits of 90 characters? Many store items are much longer than
> that!
>
> Why is this check implemented, and do we really still need it? :)

Yes we do!  You’ll find more details in ‘m4/guix.m4’ but basically,
there are two problems that could happen:

  1. Shebangs could be longer than 127 bytes, which would prevent us
     from running scripts in the test store.

  2. The daemon’s socket file name could be longer than 108 bytes, which
     would prevent us from connecting to it.

Perhaps an option for you would be to run, say:

  ./configure ac_cv_guix_test_root=/tmp/guix-test-root

That way, you’d have a shorter prefix and everything would be fine.

HTH!

Ludo’.




Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Wed Apr 16 02:57:18 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.