Sunday, March 08, 2009

install-info: No dir file specified; try --help for more information.

First, the problem.

I was trying to do sudo apt-get upgrade when it stopped on me giving this error

Setting up findutils (4.4.0-3) ...
install-info: No dir file specified; try --help for more information.
dpkg: error processing findutils (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
findutils
W: No priority (or zero) specified for pin
E: Sub-process /usr/bin/dpkg returned an error code (1)

Well, I tried googling it up, without considerable success. Finally, I found this on Debian Bug report logs.

Apparently, there are packages named install-info. One, a GNU version, another, a Debian provided package.

The-Matrix% whereis install-info
install-info: /usr/sbin/install-info /usr/local/bin/install-info /usr/share/man/man8/install-info.8.gz
The-Matrix% /usr/sbin/install-info --version
Debian install-info version 1.14.25.

Copyright (C) 1994,1995 Ian Jackson.
This is free software; see the GNU General Public Licence version 2 or
later for copying conditions. There is NO warranty.
The-Matrix% /usr/local/bin/install-info --version
install-info (GNU texinfo) 4.13

Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

And they have problems. The idea of replacing the Debian's version with the GNU's has been forwarded, but I'm not sure of the progress. For all I care, the problem hasn't been solved.

As the link provided says, "It is not Debian's fault if someone has GNU's install-info in
$PATH before /usr/sbin/install-info - don't mess with the packaging system,
you'll just get in trouble."

Now, the solution.

Get the /usr/sbin into the $PATH variable before /usr/local/bin, or essentially, do something that would get dpkg to find the Debian's version of install-info. I did the latter, leaving $PATH as it was. Just renamed the GNU's version of install-info

The-Matrix% sudo mv /usr/local/bin/install-info /usr/local/bin/install-info-gnu

And it works. ;)