Description of problem:
rebuilt package requires /usr/local/bin/perl to install
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Rebuild srpm
2. attempt to install
> sudo rpm -Uv /u/kdebisschop/rpm/RPMS/i386/httpd-*2.0.47-4.i386.rpm
error: Failed dependencies:
/usr/local/bin/perl is needed by httpd-devel-2.0.47-4
> sudo rpm -Uv --nodeps /u/kdebisschop/rpm/RPMS/i386/httpd-*2.0.47-4.i386.rpm
Preparing packages for installation...
warning: /etc/httpd/conf/httpd.conf created as /etc/httpd/conf/httpd.conf.rpmnew
It's a corner case - I can fix it in my local build by changing my search path.
(I have a symlink from /usr/local/bin/perl to /usr/bin/perl because we get
scripts that require it. By chance, /usr/local/bin comes ahead of /usr/bin in my
path, which I think causes configure to AC_SUBST that instead of /usr/bin/perl
which of course the copy registered in the rpm db)
Maybe not worh fixing now that I see the cause.
It's either WONTFIX or NOTABUG :) This is the nature of autoconf really, you
should just make sure /usr/bin is first in your PATH when building RPMs.
I have to disagree with comment #2.
If rpmbuild depends on autoconf to resolve dependencies, and autoconf
gives an unexpected result I(but technically correct -- eg, I have a
valid /usr/;local/bin/perl), then it's rpm's responsibility to
alternative/alias to the dependency-requirement that satisfies the
Telling me to rearrange my PATH is not acceptable -- that always
conflicts ("the other toolmaker tells me to do the opposite..")
Well, you could file a bug against RPM or redhat-rpm-config to have
%configure or something like that enforce a sanitized
system-directories-only PATH. But you'd probably be better of getting
consensus on rpm-list or fedora-devel-list about which behaviour is
If you're building RPMs to redistribute, doing so on a vanilla install
is standard practice. The package configure scripts may pick up
libraries etc in /usr/local otherwise, regardless of $PATH.