[buildd-tools-devel] [Buildd-tools-devel] Bug#483350: pperl: FTBFS: pperl: perl script failed to start: No such file or directory

Roger Leigh rleigh at codelibre.net
Mon Nov 8 19:49:04 UTC 2010


On Thu, Oct 28, 2010 at 10:46:40PM +0100, Roger Leigh wrote:
> On Sun, Jul 06, 2008 at 11:59:38PM +0200, Florian Weimer wrote:
> > * Roger Leigh:
> > 
> > > So, from what I understand of the report, pperl is creating a UNIX
> > > domain socket during its build, and the pathname is too long.
> > 
> > Correct.
> > 
> > > /build/user-pperl_0.25-5-amd64-0uuJx5/pperl-0.25-5/sockets/pperlnPLXc7
> > > /build/pperl-0.25-5/sockets/pperlnPLXc7
> > >
> > > That's 71 and 40 chars respectively (including NUL terminator if
> > > needed).  I don't see either as being excessively long.  Is this really
> > > what caused the failure, or is something else going on here?  We're
> > > nowhere near exceeding UNIX_PATH_MAX.
> > 
> > pperl uses an escaped form of the script name (which again resides in
> > the build directory) as the file name component of the socket, crossing
> > over the 109 character limit as a result.  As I wrote in the bug report,
> > I think this is an issue with pperl which should be fixed.  However,
> > with 70sh characters in the path and a base16 encoding of a 128-bit
> > hash, this still leaves us very close to the limit.
> 
> Looks like this is still an unresolved problem 30 months on:
> 
> Can't create listen socket: Address already in use at /build/rleigh-pperl_0.25-5-amd64-IXs0Ue/pperl-0.25/sockets/pperl1gs2Ym line 275
> p
> 
> Did you have any luck getting upstream to fix this?  I saw that
> #533934 exists, but it doesn't have any further details.
> 
> I think that on the sbuild side, there's not much I can really fix:
> it's a path length restriction that's completely out of our hands,
> so we can mitigate the effects, but we can never guarantee
> reliability.
> 
> I think the only sane approach here for upstream is to create the
> sockets in /tmp.  You can legitimately create such temporary files in
> TMPDIR, perhaps even in a temporary directory created using
> tmpnam or one of its equivalents for creating temporary directories.
> This would *ensure* the length limits wouldn't be exceeded.
> And on the debian side, you can set TMPDIR when you run make if
> that's needed.
> 
> Again on the upstream side, I think some awareness of the problem
> would be useful.  The build scripts and/or the test programs could
> check if the maximum length was exceeded and fail with an appripriate
> error.
> 
> 
> Would there be any objection to closing the sbuild bug?

Closing this bug.  It's not a bug in sbuild or something we can
work around in sbuild with any degree of reliability.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20101108/3e30ff74/attachment-0001.pgp>


More information about the Buildd-tools-devel mailing list