GHC 5.02 source RPM

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Tue, 18 Dec 2001 11:15:02 +1100


"Arjen P. de Vries" <Arjen.de.Vries@cwi.nl> wrote,

> I build the ghc from the source RPM, and everything goes fine up to creating
> the binary rpms as final result, but then it does not want to install
> the created binary rpm, due to dependency on
>   error: failed dependencies:
>         /usr/local/bin/perl   is needed by ghc-5.02.1-1
> I tried to fix it in the SPEC file, but could not find where the Requirement
> on /usr/local/bin/perl is specified (it does not seem to be there).

rpm automatically determines a set of base dependencies by
inspecting the files that go into the package.  If you have
a perl script somewhere in the files that go into a packages
that starts with

  #!/usr/local/bin/perl

then rpm will (quite rightly) assume that at least some of
the functionality of that package depends on Perl.

> BTW, I do have a /usr/local/bin/perl but apparently rpm does not understand;
> of course, after --nodeps it installs, but I need to solve the dependency
> problem since I also use apt.

I assume that you did install /usr/local/bin/perl from
source, not from an rpm package.  Obviously, rpm cannot
handle dependencies on software that was installed manually,
and so, is not in the rpm database.

If you have another version of perl installed by way of rpm,
you may want to make sure that ghc uses the rpm-controlled
version of perl at configuration time instead of the
manually installed one.  You can do so by setting PATH
appropriately before invoking rpm to build from the SRC rpm.

If you don't have an rpm-controlled version of perl
installed, you will have to convince rpm that you don't want
to have the perl dependecy included.  I am sure that there
is some form of dependency-exclude option available in rpm
.spec files, but you need to check for details in the rpm
manual.

Cheers,
Manuel