When installing plperl and PgJDBC from PGDG postgresql94 on F20, the
install fails with:
Error: Package: postgresql94-plperl-9.4beta2-2PGDG.f20.x86_64 (pgdg94)
Requires: perl(:MODULE_COMPAT_5.18.2}
You could try using --skip-broken to work around the problem
Error: Package: postgresql94-jdbc-9.3.1101-1.f20.noarch (pgdg94)
Requires: java-headless >= 1:1.8
Available:
1:java-1.7.0-openjdk-headless-1.7.0.60-2.4.3.0.fc20.x86_64 (fedora)
java-headless = 1:1.7.0
Available:
1:java-1.7.0-openjdk-headless-1.7.0.65-2.5.1.3.fc20.i686 (updates)
java-headless = 1:1.7.0
For java, it looks like it's just been built against 1.8, which isn't in
Fedora 20:
$ repoquery --whatprovides java-headless
java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.i686
java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.x86_64
java-1.7.0-openjdk-headless-1:1.7.0.60-2.4.3.0.fc20.x86_64
For Perl, it's a packaging error.
$ repoquery --whatprovides 'perl(:MODULE_COMPAT_5.18.2}'
$
$ repoquery --whatprovides 'perl(:MODULE_COMPAT_*'
perl-4:5.18.1-288.fc20.x86_64
perl-4:5.18.2-289.fc20.x86_64
$ repoquery --provides perl-4:5.18.2-289.fc20.x86_64 | grep COMPAT
perl(:MODULE_COMPAT_5.18.0)
perl(:MODULE_COMPAT_5.18.1)
perl(:MODULE_COMPAT_5.18.2)
Compare:
perl(:MODULE_COMPAT_5.18.2) # provided by Perl
perl(:MODULE_COMPAT_5.18.2} # required by PGDG
It's a mistake in the plperl subpackage, it uses the wrong perl requires
incantation.
It should be: (all on one line):
Requires:
perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
I found these issues by installing the packages with mock, while testing
my own to make sure mine interoperated with and didn't conflict with
PGDG's. I got a surprise when the stock PGDG packages wouldn't install.
I'm doing test runs for the other arches and distros now and will report
back.
(BTW, the perl issue is already fixed in the unified spec file)
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services