Incorrect automake, aclocal path variables in autoreconf script

Bug #321727 reported by Jameson Williams
2
Affects Status Importance Assigned to Milestone
Automake
Invalid
Undecided
Unassigned
autoconf (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

In the script /usr/bin/autoreconf provided by package autoconf, the path variables for autoconf and aclocal are incorrect. They are set as autoconf and aclocal, which are not executables on the system, and

When autoreconf is invoked, you will receive messages such as:
+ exec autoreconf
Can't exec "aclocal": No such file or directory at /usr/bin/autoreconf line 184.
Use of uninitialized value $aclocal in pattern match (m//) at /usr/bin/autoreconf line 184.
Can't exec "automake": No such file or directory at /usr/bin/autoreconf line 185.
Use of uninitialized value $automake in pattern match (m//) at /usr/bin/autoreconf line 185.
Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 290.
autoreconf: failed to run aclocal: No such file or directory

The above were obtained by running ./autogen.sh in the current mainline of wget.

Since there are several versions of these binaries, it appears that the decision was made to name each with its version number in /usr/bin/; for example, /usr/bin/automake-1.10. There are, however, sym links correctly established in /etc/alternatives; /etc/alternatives/automake points to /usr/bin/automake-1.10.

Here's the fix. The following two symlinks need to be created when the autoconf package is installed:

/usr/bin/automake -> /etc/alternatives/automake
/usr/bin/aclocal -> /etc/alternatives/aclocal

That is the model that is employed for other such executables that keep their version number, but it has eluded this package for some reason.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Actually, this bug is probably in automake, which should be responsible for making its own symlinks. What I have described above is really just a symptom of a problem with automake.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Further, there is not, in fact, a symlink /etc/alternatives/aclocal. That needs to be added, too.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Something is broken on your system.

The /etc/alternatives directory is not expected to be in the $PATH, update-alternatives takes care of symlinking in /usr/bin.

Try "sudo update-alternatives --all"

Changed in autoconf:
status: New → Invalid
Changed in automake:
status: New → Invalid
Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

/etc/alternatives should not, but life would be quite bland if /usr/bin, were not. The install of automake needs to add a symlink in /usr/bin to /etc/alternatives.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Please confirm that 'automake' and not 'automake-0.xx' is found in your $PATH.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

quest scott% ls -l /usr/bin/automake
lrwxrwxrwx 1 root root 26 2009-01-26 19:47 /usr/bin/automake -> /etc/alternatives/automake*

quest scott% ls -l /etc/alternatives/automake
lrwxrwxrwx 1 root root 22 2009-01-26 19:54 /etc/alternatives/automake -> /usr/bin/automake-1.10*

quest scott% update-alternatives --display automake
automake - status is auto.
 link currently points to /usr/bin/automake-1.10
/usr/bin/automake-1.10 - priority 28
 slave aclocal: /usr/bin/aclocal-1.10
 slave automake.1.gz: /usr/share/man/man1/automake-1.10.1.gz
 slave aclocal.1.gz: /usr/share/man/man1/aclocal-1.10.1.gz
/usr/bin/automake-1.4 - priority 20
 slave aclocal: /usr/bin/aclocal-1.4
 slave automake.1.gz: /usr/share/man/man1/automake-1.4.1.gz
 slave aclocal.1.gz: /usr/share/man/man1/aclocal-1.4.1.gz
 slave automake.info.gz: /usr/share/info/automake-1.4.info.gz
/usr/bin/automake-1.9 - priority 25
 slave aclocal: /usr/bin/aclocal-1.9
 slave automake.1.gz: /usr/share/man/man1/automake-1.9.1.gz
 slave aclocal.1.gz: /usr/share/man/man1/aclocal-1.9.1.gz
Current `best' version is /usr/bin/automake-1.10.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Okay, here's how to reproduce what I'm talking about:

from a clean state (e.g. dpkg -l | grep -E "automake|autoconf" returns nothing, /usr/bin/automake* and /usr/bin/auto*conf* do not exist):

sudo apt-get install automake autoconf
(usual messages for "OK)

jameson@salmon:/usr/bin$ls /usr/bin/automake
ls: cannot access /usr/bin/automake: No such file or directory

So, my point is, that installing the automake package through apt-get does not create a link (via any method) of /usr/bin/automake to /etc/alternatives/automake. This is not a life changing bug if you know what's happening, but, I do believe, is a bug none-the-less.

Calling /usr/sbin/update-alternatives does not create the /usr/bin/automake symlink for me, either; I have to manually create it.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

sudo /usr/sbin/update-alternatives --all, I mean. As you had written.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Nor is /etc/alternatives/aclocal nor /usr/bin/aclocal created with this method.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote : Re: [Bug 321727] Re: Incorrect automake, aclocal path variables in autoreconf script

On Tue, 2009-01-27 at 16:04 +0000, jhwilliams wrote:

> Okay, here's how to reproduce what I'm talking about:
>
> from a clean state (e.g. dpkg -l | grep -E "automake|autoconf" returns
> nothing, /usr/bin/automake* and /usr/bin/auto*conf* do not exist):
>
> sudo apt-get install automake autoconf
> (usual messages for "OK)
>
> jameson@salmon:/usr/bin$ls /usr/bin/automake
> ls: cannot access /usr/bin/automake: No such file or directory
>
> So, my point is, that installing the automake package through apt-get
> does not create a link (via any method) of /usr/bin/automake to
> /etc/alternatives/automake. This is not a life changing bug if you know
> what's happening, but, I do believe, is a bug none-the-less.
>
Yes it does.

For *everybody* else.

Something about your system is broken, you are the only person in the
universe having this problem.

To help you, I need you to help me understand what is broken about your
system. This means I need you to accept that there is something
uniquely wrong with your installation, and rather than telling me how
you think things behave, you need to simply tell me what you see when I
suggest commands to run.

This is an excellent document to read:

http://www.chiark.greenend.org.uk/~sgtatham/bugs.html

Once you've read that, please do the following.

 1. Run "sudo update-alternatives --all", capture all output and note
    everything you do - and attach it to this bug.

 2. Run "ls -l /usr/bin/automake", attach the output to this bug

 3. Run "ls -l /etc/alternatives/automake", attach the output to this
    bug

 4. Run "update-alternatives --display automake", attach the output to
    this bug

Scott
--
Scott James Remnant
<email address hidden>

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :

Well, I appreciate your attention to this matter, Scott, and don't mean to try your patience. Here is my output.

Revision history for this message
Jameson Williams (jamesonwilliams) wrote :
Revision history for this message
Jameson Williams (jamesonwilliams) wrote :
Revision history for this message
Jameson Williams (jamesonwilliams) wrote :
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

You seem to have experienced a bug where the alternatives have entered manual mode, with no link remaining. There's sporadic reports of this throughout the lifetime of both Ubuntu and Debian.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=87677 seems to be the relevant dpkg bug.

Try this:

 sudo update-alternatives --auto automake

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

(This can also happen if you have manually configured the automake symlink in the past to a version that you've since removed - U-A doesn't put it back to the next best, it just removes the link)

Revision history for this message
A. Denton (aquina) wrote :
Download full text (4.4 KiB)

Hello!

I received «that» when trying to write a "Hello World" program to test the recently installed KDevelop on my System.

> cd '/home/denton/Projects/HelloWorld' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" make -f Makefile.cvs && mkdir '/home/denton/Projects/HelloWorld/debug' && cd '/home/denton/Projects/HelloWorld/debug' && CFLAGS="-O0 -g3 " "/home/denton/Projects/HelloWorld/configure" --enable-debug=full && cd '/home/denton/Projects/HelloWorld/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" make -k
aclocal
make: aclocal: Command not found
make: *** [all] Error 127
*** Exited with status: 2 ***

Then I tried to solve the problem by hand (sudo apt-get -s install automake)...

> Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Reading state information... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  autoconf autotools-dev m4
Vorgeschlagene Pakete:
  autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc
Empfohlene Pakete:
  automaken
Die folgenden NEUEN Pakete werden installiert:
  autoconf automake autotools-dev m4
0 aktualisiert, 4 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
Inst m4 (1.4.10-1 Ubuntu:8.04/hardy)
Inst autoconf (2.61-4 Ubuntu:8.04/hardy)
Inst autotools-dev (20070725.1 Ubuntu:8.04/hardy)
Inst automake (1:1.10.1-2 Ubuntu:8.04/hardy)
Conf m4 (1.4.10-1 Ubuntu:8.04/hardy)
Conf autoconf (2.61-4 Ubuntu:8.04/hardy)
Conf autotools-dev (20070725.1 Ubuntu:8.04/hardy)
Conf automake (1:1.10.1-2 Ubuntu:8.04/hardy)

denton@TRON:~$ sudo apt-get install automake
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Reading state information... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  autoconf autotools-dev m4
Vorgeschlagene Pakete:
  autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc
Empfohlene Pakete:
  automaken
Die folgenden NEUEN Pakete werden installiert:
  autoconf automake autotools-dev m4
0 aktualisiert, 4 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
Es müssen 1236kB Archive geholt werden.
After this operation, 4116kB of additional disk space will be used.
Möchten Sie fortfahren [J/n]? y
Hole:1 http://de.archive.ubuntu.com hardy/main m4 1.4.10-1 [207kB]
Hole:2 http://de.archive.ubuntu.com hardy/main autoconf 2.61-4 [448kB]
Hole:3 http://de.archive.ubuntu.com hardy/main autotools-dev 20070725.1 [61,9kB]
Hole:4 http://de.archive.ubuntu.com hardy/main automake 1:1.10.1-2 [519kB]
Es wurden 1236kB in 1s geholt (707kB/s)
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/m4_1.4.10-1_i386.deb (--unpack):
 Konnte Paket-Infodatei »/var/lib/dpkg/tmp.ci/control« nicht zum Lesen öffnen: No such file or directory
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/autoconf_2.61-4_all.deb (--unpack):
 Konnte Paket-Infodatei »/var/lib/dpkg/tmp.ci/control« nicht zum Lesen öffnen: No such file or directory
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/autotools-dev_20070725.1_all.deb (--unpack):
 Konnte Paket-Infodatei »/var/lib/dpkg/tmp.ci/control« nicht zum Lesen öffnen: No such file or directory
dpkg: Fehler beim Be...

Read more...

Revision history for this message
A. Denton (aquina) wrote :

I was able to solve my problem with KDevelop. After installing "automake" and "libtool" everything worked out fine. Sorry for making you nearvous... ;-)

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.