Natty: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Bug #599163 reported by Doug McMahon
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
checkinstall (Ubuntu)
Triaged
Low
Unassigned
Maverick
Triaged
Low
Unassigned

Bug Description

Binary package hint: checkinstall

checkinstall-1.6.2 can fail package creation because of inability to create a new directory and or dir/subdir.

It doesn't appear to be that it can't at all, but in most cases it will fail.
Am attaching a simple case - building static x264 where checkinstalled failed as such

"install: cannot change permissions of `/usr/local/lib/pkgconfig': No such file or directory"

After manually creating /usr/local/lib/pkgconfig the .deb creation was successful

Have another Ex. on other pc where it failed to create 5 out of 9 or 10 dir/subdir, though it did create some of them..

Filesystem translation is enabled by default in Maverick, disabling filesystem translation fixes this issue.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: checkinstall 1.6.2-1
ProcVersionSignature: Ubuntu 2.6.35-5.6-generic 2.6.35-rc3
Uname: Linux 2.6.35-5-generic i686
Architecture: i386
Date: Sun Jun 27 22:30:15 2010
LiveMediaBuild: Ubuntu 10.10 "Maverick Meerkat" - Alpha i386 (20100624)
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: checkinstall

== Regression details ==
Discovered in version: checkinstall 1.6.2-1
Last known good version: checkinstall | 1.6.1-10

Revision history for this message
Doug McMahon (mc3man) wrote :
Revision history for this message
llogan (loul) wrote :

Similar to LP #78455 (see comment #10 by andrew.46). Adding --fstrans=no to the checkinstall command may avoid the "install: cannot change permission..." error.

/etc/checkinstallrc for Lucid:
# Are we going to use filesystem translation?
TRANSLATE=1

/etc/checkinstallrc for Meerkat:
# Are we going to use filesystem translation?
TRANSLATE=0

Changed in checkinstall (Ubuntu):
status: New → Confirmed
Changed in checkinstall (Ubuntu):
importance: Undecided → Low
Revision history for this message
Andreas Noteng (andreas-noteng) wrote :

Doug: Can you confirm that LouL's workaround works?
TRANSLATE is still set to 1 in Maverick.

Revision history for this message
llogan (loul) wrote :

I mislabeled the Ubuntu versions in my last comment. Lucid TRANSLATE is 0 by default, and Maverick is 1 by default.

tags: added: regression-potential
Revision history for this message
Doug McMahon (mc3man) wrote :

Can confirm that changing the line in checkinstallrc to this ( from 1) resolves all .deb creation issues
TRANSLATE=0

Changed in checkinstall (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Andreas Noteng (andreas-noteng) wrote :

Subscribed Felipe Sateler, the maintainer of the checkinstall package.

description: updated
Revision history for this message
Felipe Sateler (fsateler) wrote : Re: [Bug 599163] Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

On Tue, Jun 29, 2010 at 12:17, Andreas Noteng <email address hidden> wrote:
> Subscribed Felipe Sateler, the maintainer of the checkinstall package.
>
> ** Description changed:
>
>  Binary package hint: checkinstall
>
>  checkinstall-1.6.2 can fail package creation because of inability to
>  create a new directory and or dir/subdir.
>
>  It doesn't appear to be that it can't at all, but  in most cases it will fail.
>  Am attaching a simple case - building static  x264 where checkinstalled failed as such
>
>  "install: cannot change permissions of `/usr/local/lib/pkgconfig': No
>  such file or directory"
>
>  After manually creating /usr/local/lib/pkgconfig the .deb creation was
>  successful
>
>  Have another Ex. on other pc where it failed to create 5 out of 9 or 10
>  dir/subdir, though it did create some of them..
>
> + Filesystem translation is enabled by default in Maverick, disabling
> + filesystem translation fixes this issue.
> +
>  ProblemType: Bug
>  DistroRelease: Ubuntu 10.10
>  Package: checkinstall 1.6.2-1
>  ProcVersionSignature: Ubuntu 2.6.35-5.6-generic 2.6.35-rc3
>  Uname: Linux 2.6.35-5-generic i686
>  Architecture: i386
>  Date: Sun Jun 27 22:30:15 2010
>  LiveMediaBuild: Ubuntu 10.10 "Maverick Meerkat" - Alpha i386 (20100624)
>  ProcEnviron:
> -  LANG=en_US.UTF-8
> -  SHELL=/bin/bash
> +  LANG=en_US.UTF-8
> +  SHELL=/bin/bash
>  SourcePackage: checkinstall
>
> --
> Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory
> https://bugs.launchpad.net/bugs/599163
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Could you run the checkinstall command in debug mode?

checkinstall <flags-you-were-using> -d2

--

Saludos,
Felipe Sateler

Revision history for this message
Doug McMahon (mc3man) wrote : Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

> " Could you run the checkinstall command in debug mode?"

Sure - removed the install, /usr/local/include also removed

Attached terminal output and dbgfile

Also see same with other checkinstall builds if dir.(s) don't previously exist

Revision history for this message
Doug McMahon (mc3man) wrote :
Revision history for this message
Felipe Sateler (fsateler) wrote : Re: [Bug 599163] Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Hmm, I can't reproduce the problem. Lets try a few things so that we
can pinpoint the problem.

Create a dummy Makefile with the following contents:
----8<----
install:
 install -d /usr/local/include
--->8-----

Note that there is a tab before the install command, no spaces.

And now try to reproduce the problem.

Also, execute the following command (as root, otherwise you will have problems)

strace -o install.strace install -d /usr/local/include

And post the install.strace file.

--

Saludos,
Felipe Sateler

Revision history for this message
Doug McMahon (mc3man) wrote : Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Kinda surprised you can't reproduce - isn't just me who has noticed and probably not confined to maverick - can test 1.6.2 on 9.10 or 10.04 if need be.
checkinstall failed on the dummy, the strace succeeded in creating /usr/local/include

Revision history for this message
Doug McMahon (mc3man) wrote :
Revision history for this message
Felipe Sateler (fsateler) wrote : Re: [Bug 599163] Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

On Tue, Jun 29, 2010 at 21:56, Doug McMahon <email address hidden> wrote:
> Kinda surprised you can't reproduce - isn't just me who has noticed and probably not confined to maverick - can test 1.6.2 on 9.10 or 10.04 if need be.
> checkinstall failed on the dummy, the strace succeeded in creating /usr/local/include

I am not running Ubuntu, but Debian. And I'm pretty sure this has to
do with some glibc interactions.

I think I can guess where this is failing... Could you try again with
this makefile:
----8<----
install:
       strace install -d /usr/local/include
--->8-----

The strace output will hopefully show which system call is failing.

--

Saludos,
Felipe Sateler

Revision history for this message
Doug McMahon (mc3man) wrote : Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Assuming you wanted last thru checkinstall..?

Revision history for this message
Felipe Sateler (fsateler) wrote : Re: [Bug 599163] Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Yes, you are correct, through checkinstall. I forgot that. And I
forgot to say please don't use the -d2 flag. In this case, it may
cause unwanted noise.

--

Saludos,
Felipe Sateler

Revision history for this message
Doug McMahon (mc3man) wrote : Re: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Am heading out for the day - hope this helps

Revision history for this message
Doug McMahon (mc3man) wrote :

I'm gathering there is no way to 'fix' filesystem transfer and honestly don't see it being that useful in common senarios.

If there is occasion for a rebuild before release it would make sense to revert the default to no.
No big deal either way though people have gotten used to no inc. --fstrans=no in their command

note that users are also free to adjust that or any other default setting in /etc/checkinstallrc

Changed in checkinstall (Ubuntu Maverick):
status: New → Triaged
importance: Undecided → Low
description: updated
tags: added: regression-release
removed: regression-potential
Doug McMahon (mc3man)
tags: added: natty
removed: i386 maverick
summary: - Defect in checkinstall-1.6.2 : checkinstall can fail to create a new
- diirectory
+ Natty: Defect in checkinstall-1.6.2 : checkinstall can fail to create a
+ new diirectory
Doug McMahon (mc3man)
tags: added: oneiric
removed: natty
Revision history for this message
Juan Simón (simonbcn) wrote :

Same problem on Natty 64 bits:
....
test -z "/usr/local/lib/lftp/4.3.1" || /bin/mkdir -p "/usr/local/lib/lftp/4.3.1"
/bin/mkdir: can not create directory «/usr/local/lib/lftp»: No such file or directory
make[2]: *** [install-pkgverlibLTLIBRARIES] Error 1
....
**** The installation failed. Aborting package creation.
------------------------------------------------------------------------------

I have to create folders manually and after execute checkinstall to work.

Revision history for this message
Andreas Noteng (andreas-noteng) wrote : Re: [Bug 599163] Re: Natty: Defect in checkinstall-1.6.2 : checkinstall can fail to create a new diirectory

Can you try the same with TRANSLATE=0 in /etc/checkinstallrc

Andreas

Revision history for this message
Doug McMahon (mc3man) wrote :

The best solution for ubuntu would be simply to default to TRANSLATE=0 in checkinstallrc and finally be done with this

Users are free to change the rc or if desired on individual builds add a fstrans=yes if there is any reason to.
There was no indication from Felipe Sateler that he found a solution to this and in any event this is just a simple default config change that is better for most in most situations

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.