[Home]

Summary:DAHTOOL-00017: Configuration directive --prefix=/usr fails to apply to menuselect subdirectory
Reporter:hendrik schaink (hendrik schaink)Labels:
Date Opened:2009-06-24 15:13:49Date Closed:2009-06-24 18:00:35
Priority:MinorRegression?No
Status:Closed/CompleteComponents:General
Versions:2.2.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:On Debian Lenny v5.0.1, when configuring the (dfsg) configuration in
/usr/src/dahdi-tools-2.2.0/ like this:
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man \ --infodir=/usr/share/info
the "--prefix=/usr" directive has no influence on the destination directory for Perl modules such as Chans.pm, Span.pm.

I would expect / appreciate the directive "--prefix=/usr" to be followed down into all subsequent configuration runs, including the auto-invoked ones.
I'm trying to make Debian packages following dfsg guidelines for use on a pure production machine _without_ development environment.

The result is that in /usr/src/dahdi-tool-2.2.0/menuselect/mxml/config.log the invocation command defaults to "--prefix=/usr/local" and thus Perl modules are installed into "/usr/local/share/perl/5.10.0/" rather than the expected
"/usr/share/perl/5.10.0/"

Could this behaviour be related to the fact that GNU Autoconf versions 2.61 are used for ./configure and ./menuselect/configure while version 2.59 is used in ./menuselect/mxml/configure ? I am afraid I'm not knowledgeable enough to know the difference between the version.


****** ADDITIONAL INFORMATION ******

1) Changed directory to /usr/src/dahdi-tools-2.2.0/


2) Ran configure with these arguments:
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man -infodir=/usr/share/info


3) Found all occurrences of "--prefix=/usr/local" in config.log with this command:
for f in $(find . -name config.log); do echo "============ ${f} ============" ; grep -C2 -n '\--prefix=/usr/local' ${f}; done

Resulting output for "--prefix=/usr/local" :
============ ./config.log ============
============ ./menuselect/config.log ============
292-config.status:616: creating autoconfig.h
293-configure:6131: === configuring in mxml (/usr/src/dahdi-tools-2.2.0/menuselect/mxml)
294:configure:6234: running /bin/sh ./configure --silent '--prefix=/usr/local'  'CC=' 'LD=' 'AR=' 'CFLAGS=' --cache-file=/dev/null --srcdir=.
295-configure:6249: Menuselect build configuration successfully completed
296-
============ ./menuselect/mxml/config.log ============
5-generated by GNU Autoconf 2.59.  Invocation command line was
6-
7:  $ ./configure --silent --prefix=/usr/local CC= LD= AR= CFLAGS= --cache-file=/dev/null --srcdir=.
8-
9-## --------- ##


4) Found all occurrences of "--prefix=/usr" in config.log with this command:
for f in $(find . -name config.log); do echo "============ ${f} ============" ; grep -C2 '\--prefix=/usr' ${f}; done

Resulting output for "--prefix=/usr" :
============ ./config.log ============
54-Using built-in specs.
55-Target: i486-linux-gnu
56:Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
57-Thread model: posix
58-gcc version 4.3.2 (Debian 4.3.2-1.1)
--
269-Using built-in specs.
270-Target: i486-linux-gnu
271:Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
272-Thread model: posix
273-gcc version 4.3.2 (Debian 4.3.2-1.1)
============ ./menuselect/config.log ============
58-Using built-in specs.
59-Target: i486-linux-gnu
60:Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
61-Thread model: posix
62-gcc version 4.3.2 (Debian 4.3.2-1.1)
--
292-config.status:616: creating autoconfig.h
293-configure:6131: === configuring in mxml (/usr/src/dahdi-tools-2.2.0/menuselect/mxml)
294:configure:6234: running /bin/sh ./configure --silent '--prefix=/usr/local'  'CC=' 'LD=' 'AR=' 'CFLAGS=' --cache-file=/dev/null --srcdir=.
295-configure:6249: Menuselect build configuration successfully completed
296-
============ ./menuselect/mxml/config.log ============
5-generated by GNU Autoconf 2.59.  Invocation command line was
6-
7:  $ ./configure --silent --prefix=/usr/local CC= LD= AR= CFLAGS= --cache-file=/dev/null --srcdir=.
8-
9-## --------- ##
--
54-Using built-in specs.
55-Target: i486-linux-gnu
56:Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
57-Thread model: posix
58-gcc version 4.3.2 (Debian 4.3.2-1.1)
--
121-Using built-in specs.
122-Target: i486-linux-gnu
123:Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
124-Thread model: posix
125-gcc version 4.3.2 (Debian 4.3.2-1.1)



5) Found all occurences of "Invocation" in config.log with this command:
for f in $(find . -name config.log); do echo "============ ${f} ============" ; grep -A2 -n 'Invocation' ${f} ; done

Resulting output for "Invocation" :
============ ./config.log ============
5:generated by GNU Autoconf 2.63.  Invocation command line was
6-
7-  $ ./configure --prefix=/use --sysconfdir=/etc --mandir=/usr/share/man --infodir=/usr/share/info
--
428:generated by GNU Autoconf 2.63.  Invocation command line was
429-
430-  CONFIG_FILES    =
============ ./menuselect/config.log ============
5:generated by GNU Autoconf 2.61.  Invocation command line was
6-
7-  $ ./configure --silent CC= LD= AR= CFLAGS=
--
281:generated by GNU Autoconf 2.61.  Invocation command line was
282-
283-  CONFIG_FILES    =
============ ./menuselect/mxml/config.log ============
5:generated by GNU Autoconf 2.59.  Invocation command line was
6-
7-  $ ./configure --silent --prefix=/usr/local CC= LD= AR= CFLAGS= --cache-file=/dev/null --srcdir=.
--
281:generated by GNU Autoconf 2.59.  Invocation command line was
282-
283-  CONFIG_FILES    =
Comments:By: Jason Parker (jparker) 2009-06-24 15:49:16

This isn't a configure script bug.  The xpp/Makefile that installs the perl modules gets the perl directory using `perl -V:sitelib`.

I suspect that this behavior is correct and that this issue should be closed.

Assigned to tzafrir who maintains the Debian packages and also wrote this code.

By: Tzafrir Cohen (tzafrir) 2009-06-24 16:23:13

Why do you want a different path?

See the following patch used in the official packages, as well as its rationale:

http://patch-tracking.debian.net/patch/series/view/dahdi-tools/1:2.2.0~rc3-1/zaptel_perl

I strongly suggest you stick with the recommendation of the distro rather than starting to modify PERL5LIB.

By: Jason Parker (jparker) 2009-06-24 16:27:12

Tzafrir, is there some reason we don't just want to change that in svn?

By: Tzafrir Cohen (tzafrir) 2009-06-24 16:28:16

And for the record: menuselect is not used outside of the build tree, so whether or not --perfix is passed to it is irrelevant :-)

By: hendrik schaink (hendrik schaink) 2009-06-24 17:46:22

Thank you for pointing out that Debian-specific patch for Zaptel. It shows how to easily assign the Debian-specific PERL modules destination directory
/usr/share/perl/5.10.0/.

Now I can go ahead and generate Asterisk debs. Thank you for sharing your knowledge.

By: Tzafrir Cohen (tzafrir) 2009-06-24 18:00:35

Just pointing out the obvious: such packages already exist:

http://pkg-voip.alioth.debian.org/

Anyway, I guess this issue can be closed now.