Subject: Libevent conflict on EL-6?

From: Craig Ringer <[email-masked]>
Date: Wed, 18 Jun 2014 12:00:57 +0800

Hi folks

After:

sudo yum install
http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm

on a fresh RHEL6:

[ec2-user@ip-10-150-57-178 x86_64]$ uname -a
Linux ip-10-150-57-178 2.6.32-431.11.2.el6.x86_64 #1 SMP Mon Mar 3
13:32:45 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
[ec2-user@ip-10-150-57-178 x86_64]$ lsb_release -a
LSB Version:
:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.5 (Santiago)
Release:        6.5
Codename:       Santiago

"yum update" is failing with:

Error: Package: 1:nfs-utils-1.2.3-39.el6.x86_64 (installed)
           Requires: libevent-1.4.so.2()(64bit)
           Removing: libevent-1.4.13-4.el6.x86_64 (installed)
               libevent-1.4.so.2()(64bit)
           Updated By: libevent-2.0.19-1.rhel6.x86_64 (pgdg94)
               Not found
           Available: libevent-1.4.13-1.el6.x86_64
(rhui-REGION-rhel-server-releases)
               libevent-1.4.so.2()(64bit)

Full log attached.

It looks like the libevent in PGDG for 9.4/EL-6 conflicts with that in
RHEL6, and should instead install in parallel to it as a "libevent2"
with a different soname.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

-- 
Sent via pgsql-pkg-yum mailing list ([email-masked])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-pkg-yum

---

From: Craig Ringer <[email-masked]>
Date: Wed, 18 Jun 2014 12:10:00 +0800

> RHEL6, and should instead install in parallel to it as a "libevent2"

There are also multilib problems, because the x64 repo package doesn't
also provide i386 packages, so with --skip-broken:

Packages skipped because of dependency problems:
    libevent-1.4.13-4.el6.i686 from rhui-REGION-rhel-server-releases
    libevent-2.0.19-1.rhel6.x86_64 from pgdg94
    libevent-devel-1.4.13-4.el6.i686 from
rhui-REGION-rhel-server-releases-optional
    libevent-devel-2.0.19-1.rhel6.x86_64 from pgdg94
Error:  Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem. Eg.:

         1. You have an upgrade for libevent which is missing some
            dependency that another package requires. Yum is trying to
            solve this by installing an older version of libevent of the
            different architecture. If you exclude the bad architecture
            yum will tell you what the root cause is (which package
            requires what). You can try redoing the upgrade with
            --exclude libevent.otherarch ... this should give you
            an error message showing the root cause of the problem.

         2. You have multiple architectures of libevent installed, but
            yum can only see an upgrade for one of those arcitectures.
            If you don't want/need both architectures anymore then you
            can remove the one with the missing update and everything
            will work.

         3. You have duplicate versions of libevent installed already.
            You can use "yum check" to get yum show these errors.

       ...you can also use --setopt=protected_multilib=false to remove
       this checking, however this is almost never the correct thing to
       do as something else is very likely to go wrong (often causing
       much more problems).

       Protected multilib versions: libevent-1.4.13-1.el6.i686 !=
libevent-1.4.13-4.el6.x86_64

Yum wants to preserve the libevent version equality between RHEL's
libevent on i686 and the PGDG libevent it can only get an x86 version of.

Possibly related:

http://svn.pgrpms.org/ticket/73
http://svn.pgrpms.org/ticket/84

---

From: Devrim Gündüz <[email-masked]>
Date: Wed, 18 Jun 2014 16:38:51 +0300

Hi,

On Wed, 2014-06-18 at 12:00 +0800, Craig Ringer wrote:
> Hi

Hmm, I think I forgot to push compat-libevent14 RPM to 9.4 repo. Just
did it. Can you please update yum cache, and try again?

Regards,
-- 
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

---

From: Craig Ringer <[email-masked]>
Date: Wed, 18 Jun 2014 21:46:58 +0800

On 06/18/2014 09:38 PM, Devrim Gündüz wrote:

> Hmm, I think I forgot to push compat-libevent14 RPM to 9.4 repo. 
> Just did it. Can you please update yum cache, and try again?

Will do.

I'll probbly be on the other side of the clock for me I'm afraid,
9:30pm here and I'm zonked. New baby.

- --

---

From: Craig Ringer <[email-masked]>
Date: Wed, 18 Jun 2014 22:13:47 +0800

> 9:30pm here and I'm zonked. New baby.

Of course, new baby also means "might never sleep again", so, attached
updated log.

The first issue appears resolved, now it's just protesting that it
also has an i386 libevent and PGDG doesn't provide a matching updated
i386 libevent, only an x64 one.

It seems pretty weird to package an update to a distro package like
this at all.

- --

---

From: Devrim Gündüz <[email-masked]>
Date: Wed, 18 Jun 2014 17:26:34 +0300

Hi,

> i386 libevent, only an x64 one.

Just wondering -- which package requires libevent.i686? Can you please
remove it, and see what happens?

> It seems pretty weird to package an update to a distro package like

Please take a look at the HTML sources of yum.postgresql.org, and grep
for word "attention". There is a hidden paragraph there, which I put 2
years ago. We need this for pgbouncer.

Regards,

---

From: Chapman Flack <[email-masked]>
Date: Thu, 17 Dec 2015 09:55:42 -0500

> Just did it. Can you please update yum cache, and try again?

Could that also be the explanation now with the 9.5 repo?  :)

-Chap

---

From: Chapman Flack <[email-masked]>
Date: Fri, 8 Apr 2016 11:19:43 -0400

> Could that also be the explanation now with the 9.5 repo?  :)

Hi Devrim,

I have a Red Hat EL 6 x86_64 system subscribed to the 9.5 PGDG repo,
and have lost the ability with yum to update the OS. Yum reports:

-----
Error: Package: 1:nfs-utils-1.2.3-64.el6.x86_64 (@rhel-x86_64-server-6)
           Requires: libevent-1.4.so.2()(64bit)
           Removing: libevent-1.4.13-4.el6.x86_64
(@anaconda-RedHatEnterpriseLinux-201409260744.x86_64/6.6)
               libevent-1.4.so.2()(64bit)
           Updated By: libevent-2.0.22-1.rhel6.x86_64 (pgdg95)
               Not found
-----

This seems very much as if it could be the same issue you described
above regarding the 9.4 repo. Is there a compat-libevent14 RPM that
needs to be included in the 9.5 repo for rhel6 so that updates
can succeed?

I have tried 'yum clean expire-cache' and retried the update, in
case compat-libevent had been recently pushed, but got the same
result.  Do I need to try a more aggressive flavor of yum clean?

Thanks,
-Chap

---

From: Peter Eisentraut <[email-masked]>
Date: Fri, 8 Apr 2016 22:06:27 -0400

>            Updated By: libevent-2.0.22-1.rhel6.x86_64 (pgdg95)

I have found that the only way to sort this out is to install the new
libevent using the rpm program directly.  It's not a problem for rpm to
have multiple versions of a package, but yum can't handle it.

Other solutions welcome.

---

From: Chapman Flack <[email-masked]>
Date: Sat, 9 Apr 2016 10:42:01 -0400

> have multiple versions of a package, but yum can't handle it.

Well, is there not a compat-libevent14 package (which, I presume, would
provide 1.4-compatible interfaces on top of 2.0) that Devrim has previously
mentioned simply needing to include in the repo? I don't know, myself, I'm
only grasping for clues in old messages.

compat-libevent /is/ shown on the "full package list":
http://yum.postgresql.org/news-packagelist.php

However, 'yum list available' does not show it, on my rhel6 box subscribed
to the repo.

I got the impression from Devrim's 2014 comment that it was a known
issue with a straightforward solution, just adding compat-libevent
to the repo. Was that later found to be unworkable?

-Chap

---

From: Jeff Frost <[email-masked]>
Date: Sat, 9 Apr 2016 10:13:45 -0700

> On Apr 9, 2016, at 7:42 AM, Chapman Flack <[email-masked]> wrote:
> 

I see the spec file here in the git repo:

http://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob_plain;f=rpm/redhat/9.5/compat-libevent/EL-6/compat-libevent14.spec;hb=HEAD

but it looks like we’re not building it for some reason, but I’m not sure why.

---

From: Chapman Flack <[email-masked]>
Date: Wed, 20 Apr 2016 23:23:05 -0400

> but it looks like we’re not building it for some reason, but I’m not sure why.

Any ideas whom I should ask or where I should look for a reason?

I would love the convenience of being able to subscribe to this repo,
and still successfully update my server. :)

-Chap

---

From: Devrim Gündüz <[email-masked]>
Date: Thu, 21 Apr 2016 12:26:01 +0300

Hi,

> and still successfully update my server. :)

I think I pushed the packages yesterday  -- can you please check?

Regards,

---

From: Chapman Flack <[email-masked]>
Date: Thu, 21 Apr 2016 09:07:40 -0400

> I think I pushed the packages yesterday  -- can you please check?

Yum update succeeds! Lights flash, trumpets blare, bells ring.

Thanks.  :)

-Chap

---

From: Devrim Gündüz <[email-masked]>
Date: Wed, 27 Apr 2016 15:21:45 +0300

Hi,

> Any ideas whom I should ask or where I should look for a reason?

That is me, and my overlook.

Regards,