This is the mail archive of the
automake-prs@sources.redhat.com
mailing list for the automake project.
automake/114: aclocal should not use hardcoded prefix.
- To: automake-gnats at sourceware dot cygnus dot com
- Subject: automake/114: aclocal should not use hardcoded prefix.
- From: brian dot cameron at ireland dot sun dot com
- Date: 1 Feb 2001 15:41:46 -0000
- Reply-To: brian dot cameron at ireland dot sun dot com
>Number: 114
>Category: automake
>Synopsis: aclocal should not use hardcoded prefix.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: tromey
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Feb 01 07:51:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Brian Cameron
>Release: automake 1.4
>Organization:
>Environment:
Solaris 2.9
>Description:
I notice that the bin/aclocal Perl script has the following
two lines:
$prefix = "/hardcoded/install/directory";
$acdir = "${prefix}/share/aclocal";
The "$acdir" is used to find config files that may be
installed by other packages.
This creates a problem in our environment...
We have each package (autoconf, gettext, and libtool) are
installed in each directory. Then we are using a program
that makes a single directory tree with symbolic links to
the various installed programs.
So our system looks like this
automake is installed in /install/automake
gettext is installed in /install/gettext
libtool is installed in /install/libtool
So, /install/automake/bin/aclocal obviously has its
prefix hardcoded to "/install/automake/share/aclocal".
We create a /usr/local directory tree which contains
symbolic links to each of the files in the above three
packages.
Therefore:
/usr/local/share/aclocal/termios.m4 points to
/install/automake/share/aclocal/termios.m4
/usr/local/share/aclocal/progtest.m4 points to
/install/gettext/share/aclocal/termois.m4
/usr/local/bin/aclocal points to
/install/automake/bin/aclocal
etc...
The problem is that when we run /usr/local/bin/aclocal
it only finds the m4 files in the
/install/automake/share/aclocal directory and doesn't
look in the /usr/local/share/aclocal directory, which
would make the most sense.
>How-To-Repeat:
>Fix:
Therefore, could aclocal be updated so that it uses the
perl variable "$0" which will contain the path where the
aclocal script was executed, and find the "share/aclocal"
directory with a relative path (simply ../share/aclocal")
rather than using $prefix.
At any rate making aclocal more smart this way will
allow people to do more sophisticated setups with
automake.
>Release-Note:
>Audit-Trail:
>Unformatted: