Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker 1.5.0 package must require proper device-mapper version #12108

Closed
riuvshin opened this issue Apr 6, 2015 · 26 comments
Closed

Docker 1.5.0 package must require proper device-mapper version #12108

riuvshin opened this issue Apr 6, 2015 · 26 comments

Comments

@riuvshin
Copy link

riuvshin commented Apr 6, 2015

Hi fellas,
I've tried to install docker 1.5.0-28.el7.centos on my Centos7 machine but it's don't work.

error is:
/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

So the problem is that docker 1.5.0-28.el7.centos require newer version of device-mapper than I have but package it self does not require any other, which is wrong. I understand that this problem isn't for docker devs but I don't know where I should register such.

In the irc @cpuguy83 recommended to ping there @lsm5

NOTE: It works well after update device-mapper to 7:1.02.93-3.el7

@jperrin
Copy link
Contributor

jperrin commented Apr 6, 2015

Docker 1.5.0-28.el7.centos is a 7.1.1503 update, which requires/expects that you have fully updated to 7.1.1503. If you're doing selective updates, you will run into issues like this.

@jperrin
Copy link
Contributor

jperrin commented Apr 6, 2015

in theory a 'yum update' should resolve what you're seeing.

@lsm5
Copy link
Contributor

lsm5 commented Apr 6, 2015

what @jperrin said :) , this happened on my machine too, and a yum update fixed this

@robbyt
Copy link
Contributor

robbyt commented Apr 6, 2015

This is a packaging bug from RH. The new docker package should require the correct version of device mapper in it's package dependencies.

@lsm5
Copy link
Contributor

lsm5 commented Apr 6, 2015

like what @jperrin said, I'd guess people would do a full system update whenever a major update goes out and things would just work, but ya, this sure is a packaging bug considering selective updates. Thanks for reporting.

also, may I interest you in 2 other docker rpms with quicker releases compared to the RHEL recompiled variant? See this page for details: http://wiki.centos.org/Cloud/Docker . Add the repository mentioned in there and then you'll see the docker (upstream release) and docker-master (daily upstream master branch rebuild) packages. These (probably) won't have any of the RH features/patches that are available in the RHEL-recompiled build, so there's that.

@riuvshin
Copy link
Author

riuvshin commented Apr 7, 2015

@robbyt Correct, I didn't install any updates, I've just installed docker 1.5.0 and docker package must require correct version of all deps.

@jperrin sure it will help, but package should have proper dependencies.

@robbyt
Copy link
Contributor

robbyt commented Apr 7, 2015

Here is the RH bug for this issue
https://bugzilla.redhat.com/show_bug.cgi?id=1207839

@lsm5
Copy link
Contributor

lsm5 commented Apr 7, 2015

ahh, i see this was already reported. Sorry about the memory lapse. This will get fixed in the next update

@tmm1
Copy link

tmm1 commented Apr 23, 2015

yum install device-mapper-devel fixed this for me.

@joda70
Copy link

joda70 commented May 7, 2015

Could you please tell me your recipe to solve the problem? Unfortunately I read the thread after I upgraded the docker package.

The current packages are:
docker-1.5.0-28.el7.centos.x86_64
device-mapper-event-libs-1.02.93-3.el7.x86_64
device-mapper-1.02.93-3.el7.x86_64
device-mapper-devel-1.02.93-3.el7.x86_64
device-mapper-libs-1.02.93-3.el7.x86_64

But I have:

systemctl enable docker.service
Failed to issue method call: Access denied

systemctl status docker.service
docker.service
Loaded: not-found (Reason: No such file or directory)
Active: failed (Result: exit-code) since Thu 2015-05-07 08:23:58 UTC; 1h 35min ago
Main PID: 18796 (code=exited, status=127)

May 07 08:23:58 docker docker[18796]: time="2015-05-07T08:23:58Z" level="info" msg="+job serveapi(unix:...ock)"
May 07 08:23:58 docker docker[18796]: /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_tas...rence
May 07 08:23:58 docker systemd[1]: docker.service: main process exited, code=exited, status=127/n/a
May 07 08:23:58 docker systemd[1]: Failed to start Docker Application Container Engine.
May 07 08:23:58 docker systemd[1]: Unit docker.service entered failed state.
May 07 08:50:14 docker systemd[1]: Stopped Docker Application Container Engine.
May 07 08:50:50 docker systemd[1]: Stopped docker.service.
May 07 09:11:43 docker systemd[1]: Stopped docker.service.
May 07 09:30:45 docker systemd[1]: Stopped docker.service.
Hint: Some lines were ellipsized, use -l to show in full.

Have you only upgrade device-mapper to the newest version? Which yum repos have you specified to get the right packages?

cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

@joda70
Copy link

joda70 commented May 7, 2015

I have just solved the problem by installing the packages device-mapper-event device-mapper-event-devel.
After that:

systemctl enable docker.service

ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'

systemctl status docker.service

docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Active: failed (Result: exit-code) since Thu 2015-05-07 08:23:58 UTC; 1h 58min ago
Docs: http://docs.docker.com
Main PID: 18796 (code=exited, status=127)

May 07 08:23:58 docker docker[18796]: time="2015-05-07T08:23:58Z" level="info" msg="+job serveapi(unix:...ock)"
May 07 08:23:58 docker docker[18796]: /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_tas...rence
May 07 08:23:58 docker systemd[1]: docker.service: main process exited, code=exited, status=127/n/a
May 07 08:23:58 docker systemd[1]: Failed to start Docker Application Container Engine.
May 07 08:23:58 docker systemd[1]: Unit docker.service entered failed state.
May 07 08:50:14 docker systemd[1]: Stopped Docker Application Container Engine.
May 07 08:50:50 docker systemd[1]: Stopped docker.service.
May 07 09:11:43 docker systemd[1]: Stopped docker.service.
May 07 09:30:45 docker systemd[1]: Stopped docker.service.
Hint: Some lines were ellipsized, use -l to show in full.

systemctl start docker.service

@riuvshin
Copy link
Author

this can be closed, it is fixed in 1.6.0-11.0.1.el7.centos

more info:
http://pastebin.com/raw.php?i=FTNfhTMy

@aimestereo
Copy link

@tmm1, thx it helped me
yum install device-mapper-devel

CentOS 7

docker --version
Docker version 1.7.1, build 786b29d

sudo systemctl start docker
sudo systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Active: failed (Result: exit-code) since Вс 2015-08-02 23:47:50 MSK; 2s ago
Docs: https://docs.docker.com
Process: 5324 ExecStart=/usr/bin/docker -d -H fd:// (code=exited, status=127)
Main PID: 5324 (code=exited, status=127)

авг 02 23:47:50 violin systemd[1]: Started Docker Application Container Engine.
авг 02 23:47:50 violin docker[5324]: /usr/bin/docker: relocation error: /usr/bin...ce
авг 02 23:47:50 violin systemd[1]: docker.service: main process exited, code=exi.../a
авг 02 23:47:50 violin systemd[1]: Unit docker.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.

sudo systemctl status docker -l
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Active: failed (Result: exit-code) since Вс 2015-08-02 23:47:50 MSK; 36s ago
Docs: https://docs.docker.com
Process: 5324 ExecStart=/usr/bin/docker -d -H fd:// (code=exited, status=127)
Main PID: 5324 (code=exited, status=127)

авг 02 23:47:50 violin systemd[1]: Started Docker Application Container Engine.
авг 02 23:47:50 violin docker[5324]: /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
авг 02 23:47:50 violin systemd[1]: docker.service: main process exited, code=exited, status=127/n/a
авг 02 23:47:50 violin systemd[1]: Unit docker.service entered failed state.

@shubham-sakhuja-mt
Copy link

I am running on centos 7 after running yum update, and using docker 1.7.1. I see the same details as @vvkuznetsov when trying to start docker and it is not working. @vvkuznetsov is yours actually working? It looks like it is failing...

@PaulMatencio
Copy link

Docker 1.7.1 works on CentOS 7 ( 3.10.0-229.el7.x86_64) . However on Red Hat 7 (3.10.0-123.el7.x86_64 ), it fails with the same detail as @vvkuznetsov

@shubham-sakhuja-mt
Copy link

Docker version 1.7.1, build 786b29d
CentOS Linux release 7.0.1406 (Core) (3.10.0-123.20.1.el7.x86_64)

The above doesn't work for me and gives same errors as @vvkuznetsov

@PaulMatencio
Copy link

@shubham-sakuja-mt Did you upgrade the device-mapper-event package of your CentOS 7.

The dm_task_get_info_with_deferred_remove is NOT IN the libdevmapper.so.1.02 of the device-mapper-event version 1.02.84 ( my Red Hat) but it is IN the device-mapper-event version 10 1.02.93 (Cent OS).

@shubham-sakhuja-mt
Copy link

I tried, however the latest available version through yum is the former. Which repo are you finding the .93 version?

[root@ftp-sim ~] 3# yum install device-mapper-event
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package 7:device-mapper-event-1.02.84-14.el7.x86_64 already installed and latest version
Nothing to do

@shubham-sakhuja-mt
Copy link

Ok I found and installed the below packages to upgrade to 1.02.93 and all is working well!

for rpm in $(echo 'ftp://rpmfind.net/linux/centos/7.1.1503/updates/x86_64/Packages/device-mapper-libs-1.02.93-3.el7_1.1.x86_64.rpm' 'ftp://rpmfind.net/linux/centos/7.1.1503/updates/x86_64/Packages/device-mapper-1.02.93-3.el7_1.1.x86_64.rpm' 'ftp://rpmfind.net/linux/centos/7.1.1503/updates/x86_64/Packages/device-mapper-event-1.02.93-3.el7_1.1.x86_64.rpm'
)
do
wget $rpm
rpm --nodeps --force -Uvh $rpm
done

@jperrin
Copy link
Contributor

jperrin commented Aug 6, 2015

using --nodeps and --force is nearly always how you break things. A simple 'yum update' to ensure you're running the latest version is all that's needed.

@shubham-sakhuja-mt
Copy link

@jperrin as i explained, that didn't work as it would just install 1.02.84, which was obv not what was needed...

@jperrin
Copy link
Contributor

jperrin commented Aug 7, 2015

Then you've somehow configured the system to not get updates. That's the problem to fix. Ignoring dependencies with --nodeps and --force WILL lead to breakage and tears. 1.02.84 is from 7.0, You've pulled the new packages from 7.1 with none of the required updates that go along with them, because you've somehow stuck yourself to 7.0.

@aimestereo
Copy link

@shubham-sakhuja-mt yes, after installing device-mapper-event I have no problems.

P.S. It was not a fresh installation. I uninstall docker 1.6.(2?) and then installed 1.7.1.

@janezhango
Copy link

yum install lvm2 works for me in centOS7 instead of yum update :)

@tobegit3hub
Copy link

Thanks @shubham-sakhuja-mt and @jperrin . But the links above are broken. Is there any way for CentOS 7.0 to upgrade device-mapper-libs-1.02.84?

@CocaCola183
Copy link

@tmm1 works for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests