RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1207839 - docker-1.5.0-27.el7.x86_64 fails with older versions of device-mapper-libs
Summary: docker-1.5.0-27.el7.x86_64 fails with older versions of device-mapper-libs
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: docker
Version: 7.1
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Lokesh Mandvekar
QA Contact: Luwen Su
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-31 19:56 UTC by Scott Dodson
Modified: 2019-03-06 02:06 UTC (History)
12 users (show)

Fixed In Version: docker-1.6.0-11.el7
Doc Type: Bug Fix
Doc Text:
Cause: The docker rpm package didn't correctly account for minimum required NVR for device-mapper-libs Consequence: When a user did a selective system upgrade (like 'yum update docker'), device-mapper-libs didn't get updated along with docker, thus causing problems in docker usage. Fix: The fix for this problem was to ensure a docker update also enforced an update of device-mapper-libs to 1.02.90-1 or higher. Result: Users can now use docker correctly after a 'yum update docker'
Clone Of:
Environment:
Last Closed: 2015-05-12 20:14:30 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0993 0 normal SHIPPED_LIVE docker bug fix update 2015-05-13 00:14:16 UTC

Description Scott Dodson 2015-03-31 19:56:45 UTC
Description of problem:
Docker 1.5 requires a newer version of device-mapper-libs. I don't know the specific version in which it's fixed, but presumably it requires the version shipped with RHEL 7.1.

Mar 31 15:28:05 ose3.os1.phx2.redhat.com docker[5392]: /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference


Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:
1. Install RHEL7 host, install docker-1.5 from rhel-7-extras
2. Start docker
3.

Actual results:
Mar 31 15:28:05 ose3.os1.phx2.redhat.com docker[5392]: /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference


Expected results:
docker runs

Additional info:
I think this happens because there's an epoch on the device-mapper-libs package, so the requires line should really read :

Requires:   device-mapper-libs >= 7:1.02.90-1

Perhaps wrapped in some rhel7 conditional logic.

Comment 2 Daniel Walsh 2015-03-31 21:31:59 UTC
Lokesh lets get this fixed in the docker-1.6 package.

Comment 3 Chad Metcalf 2015-04-10 05:25:57 UTC
I think it actually something deeper then the epoch. Epoch and release should both be optional fields. I tried fully specifying the version as suggested and it didn't solve the problem.

This seems to related to the device-mapper* packages. You can reproduce this with a simple spec file that does basically nothing but depend on a version of device-mapper-libs. It seems like device-mapper-libs simply will not be updated.

Comment 4 Chad Metcalf 2015-04-10 20:57:04 UTC
(In reply to Chad Metcalf from comment #3)
> I think it actually something deeper then the epoch. Epoch and release
> should both be optional fields. I tried fully specifying the version as
> suggested and it didn't solve the problem.
> 
> This seems to related to the device-mapper* packages. You can reproduce this
> with a simple spec file that does basically nothing but depend on a version
> of device-mapper-libs. It seems like device-mapper-libs simply will not be
> updated.

Fast forward a day and yet another totally clean environment and the fully qualified version number does in fact seem to work.

Comment 6 Josef Stribny 2015-04-20 12:13:26 UTC
I just came across this today on a freshly installed system:

1, Install RHEL 7.0
2, Register and enable optional repositories

# subscription-manager register ...
# subscription-manager repos --enable=rhel-7-server-extras-rpms
# subscription-manager repos --enable=rhel-7-server-optional-rpms

3, Install Docker

# sudo yum -y install docker

4, Start Docker service

$ sudo systemctl start docker.service
Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.


$ sudo systemctl status docker.service
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: failed (Result: exit-code) since Mon 2015-04-20 07:03:21 EDT; 5s ago
     Docs: http://docs.docker.com
  Process: 11768 ExecStart=/usr/bin/docker -d $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=127)
 Main PID: 11768 (code=exited, status=127)

Apr 20 07:03:21 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
Apr 20 07:03:21 localhost.localdomain docker[11768]: time="2015-04-20T07:03:21-04:00" level="info" msg="+job serveapi(unix:///var/run/docker.sock)"
Apr 20 07:03:21 localhost.localdomain docker[11768]: time="2015-04-20T07:03:21-04:00" level="info" msg="Listening for HTTP on unix (/var/run/docker.sock)"
Apr 20 07:03:21 localhost.localdomain docker[11768]: /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmappe...ime reference
Apr 20 07:03:21 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=127/n/a
Apr 20 07:03:21 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Apr 20 07:03:21 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.


Components versions:

$ rpm -qa docker
docker-1.5.0-28.el7.x86_64

$ rpm -qa device-mapper
device-mapper-1.02.84-14.el7.x86_64

How to fix:

# yum update device-mapper

Components versions:

$ rpm -qa device-mapper
device-mapper-1.02.93-3.el7.x86_64

Comment 7 Luwen Su 2015-04-30 08:03:27 UTC
In docker-1.6.0-10.el7.x86_64, verified this from the line in docker.spec

Requires:   device-mapper-libs >= 1.02.90-1

Comment 8 Scott Dodson 2015-04-30 13:32:35 UTC
Luwen,

That's not a sufficient test, you need to install a RHEL7.0 system, install docker version 1.5 or later and start the service, it will fail even with docker-1.6.0-10.el7.x86_64. See comment #6.


Lokesh,

I did a scratch build with this change and it seems to fix the issue, I just don't know how you guys manage the specfile with regard to upstream and non rhel releases.

-Requires:   device-mapper-libs >= 1.02.90-1
+Requires:   device-mapper-libs >= 7:1.02.90-1

Comment 10 Lokesh Mandvekar 2015-04-30 13:52:04 UTC
(In reply to Scott Dodson from comment #8)

> Lokesh,
> 
> I did a scratch build with this change and it seems to fix the issue, I just
> don't know how you guys manage the specfile with regard to upstream and non
> rhel releases.

umm, I guess dist-git is the answer.

> 
> -Requires:   device-mapper-libs >= 1.02.90-1
> +Requires:   device-mapper-libs >= 7:1.02.90-1

Thanks, just that I don't think I ever hit this epoch issue before, will update.

Comment 11 Luwen Su 2015-05-03 13:51:45 UTC
(In reply to Scott Dodson from comment #8)
> Luwen,
> 
> That's not a sufficient test, you need to install a RHEL7.0 system, install
> docker version 1.5 or later and start the service, it will fail even with
> docker-1.6.0-10.el7.x86_64. See comment #6.
> 
Ah..so sorry about it, my bad.
This should be enough:
A note, the device-mapper package belongs to lvm2 in brew now, in case anyone need it.

Downgrade device-mapper to a lower version, remove the docker installed.And try to install docker again.

# ls
atomic-0-0.22.git5b2fa8d.el7.x86_64.rpm
docker-1.6.0-11.el7.x86_64.rpm
docker-logrotate-1.6.0-11.el7.x86_64.rpm
docker-python-1.0.0-35.el7.x86_64.rpm
docker-selinux-1.6.0-11.el7.x86_64.rpm
python-websocket-client-0.14.1-78.el7.noarch.rpm

# rpm -qa | grep -i device-mapper
device-mapper-multipath-libs-0.4.9-58.el7.x86_64
device-mapper-libs-1.02.82-6.el7.x86_64
device-mapper-persistent-data-0.2.8-2.el7.x86_64
device-mapper-multipath-0.4.9-58.el7.x86_64
device-mapper-event-1.02.82-6.el7.x86_64
device-mapper-event-libs-1.02.82-6.el7.x86_64
device-mapper-1.02.82-6.el7.x86_64

# rpm -ivh *.rpm
error: Failed dependencies:
	device-mapper-libs >= 7:1.02.90-1 is needed by docker-1.6.0-11.el7.x86_64

Move to verified

Comment 13 errata-xmlrpc 2015-05-12 20:14:30 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0993.html


Note You need to log in before you can comment on or make changes to this bug.