Why does rpm -i fail on a dependency that I have installed?
Clash Royale CLAN TAG#URR8PPP
up vote
0
down vote
favorite
I tried installing the following package:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
But I got an error for failed dependencies:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
error: Failed dependencies:
libgnutls.so.28()(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
Naturally I tried installing these dependencies:
[root@localhost ~]# yum install libgnutls.so.28
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vooservers.com
* epel: pkg.adfinis-sygroup.ch
* extras: mirrors.melbourne.co.uk
* updates: mirrors.melbourne.co.uk
Package gnutls-3.3.26-9.el7.i686 already installed and latest version
Nothing to do
But as you can see above I am told that the package is "already installed" and there is "nothing to do".
This makes no sense to me if the package is already installed then why is the installation of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm failing because it can not find this dependency?
software-installation yum rpm
add a comment |Â
up vote
0
down vote
favorite
I tried installing the following package:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
But I got an error for failed dependencies:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
error: Failed dependencies:
libgnutls.so.28()(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
Naturally I tried installing these dependencies:
[root@localhost ~]# yum install libgnutls.so.28
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vooservers.com
* epel: pkg.adfinis-sygroup.ch
* extras: mirrors.melbourne.co.uk
* updates: mirrors.melbourne.co.uk
Package gnutls-3.3.26-9.el7.i686 already installed and latest version
Nothing to do
But as you can see above I am told that the package is "already installed" and there is "nothing to do".
This makes no sense to me if the package is already installed then why is the installation of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm failing because it can not find this dependency?
software-installation yum rpm
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I tried installing the following package:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
But I got an error for failed dependencies:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
error: Failed dependencies:
libgnutls.so.28()(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
Naturally I tried installing these dependencies:
[root@localhost ~]# yum install libgnutls.so.28
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vooservers.com
* epel: pkg.adfinis-sygroup.ch
* extras: mirrors.melbourne.co.uk
* updates: mirrors.melbourne.co.uk
Package gnutls-3.3.26-9.el7.i686 already installed and latest version
Nothing to do
But as you can see above I am told that the package is "already installed" and there is "nothing to do".
This makes no sense to me if the package is already installed then why is the installation of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm failing because it can not find this dependency?
software-installation yum rpm
I tried installing the following package:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
But I got an error for failed dependencies:
[root@localhost ~]# rpm -i libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
error: Failed dependencies:
libgnutls.so.28()(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by libmicrohttpd-0.9.22-1.el7.centos.x86_64
Naturally I tried installing these dependencies:
[root@localhost ~]# yum install libgnutls.so.28
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vooservers.com
* epel: pkg.adfinis-sygroup.ch
* extras: mirrors.melbourne.co.uk
* updates: mirrors.melbourne.co.uk
Package gnutls-3.3.26-9.el7.i686 already installed and latest version
Nothing to do
But as you can see above I am told that the package is "already installed" and there is "nothing to do".
This makes no sense to me if the package is already installed then why is the installation of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm failing because it can not find this dependency?
software-installation yum rpm
software-installation yum rpm
asked Sep 28 at 9:31
MarkMark
11118
11118
add a comment |Â
add a comment |Â
3 Answers
3
active
oldest
votes
up vote
2
down vote
You have installed gnutls-3.3.26-9.el7.i686
, but that is not libgnutls.so.28()(64bit)
, it is 32bits.
You need to install gnutls-3.3.26-9.el7.x64_86
, which is the correct architecture to match what you're trying to install.
add a comment |Â
up vote
0
down vote
Try this,
You were installing i686
which is a 32-bit
library.The error clearly states that libmicrohttpd
needs a 64-bit
library.
Refer this link to get the required RPM.
You can also configure yum
via /etc/yum.conf
to install the best suited package for the underlying architecture. The parameter to be modified in yum.conf
is multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64
, if it is available. Best means install the best arch for this platform, only. For more refer this page and this answer.
To know the underlying archietcture , rununame -m
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
add a comment |Â
up vote
0
down vote
it is always a better idea to use yum
directly in order to let yum
manage the dependencies for you:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
Relative path need not be specified foryum
like./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, theyum
actually searches for the package named./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead oflibmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if./
is specified and eventually fails sayingNo package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.
â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwiserpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.
â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentionedyum
, the OP need not even get the specific RPM manually to install viayum
and so I suggested the edit. :)
â sai sasanka
Sep 28 at 10:49
add a comment |Â
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
You have installed gnutls-3.3.26-9.el7.i686
, but that is not libgnutls.so.28()(64bit)
, it is 32bits.
You need to install gnutls-3.3.26-9.el7.x64_86
, which is the correct architecture to match what you're trying to install.
add a comment |Â
up vote
2
down vote
You have installed gnutls-3.3.26-9.el7.i686
, but that is not libgnutls.so.28()(64bit)
, it is 32bits.
You need to install gnutls-3.3.26-9.el7.x64_86
, which is the correct architecture to match what you're trying to install.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
You have installed gnutls-3.3.26-9.el7.i686
, but that is not libgnutls.so.28()(64bit)
, it is 32bits.
You need to install gnutls-3.3.26-9.el7.x64_86
, which is the correct architecture to match what you're trying to install.
You have installed gnutls-3.3.26-9.el7.i686
, but that is not libgnutls.so.28()(64bit)
, it is 32bits.
You need to install gnutls-3.3.26-9.el7.x64_86
, which is the correct architecture to match what you're trying to install.
answered Sep 28 at 9:39
wurtel
9,47511324
9,47511324
add a comment |Â
add a comment |Â
up vote
0
down vote
Try this,
You were installing i686
which is a 32-bit
library.The error clearly states that libmicrohttpd
needs a 64-bit
library.
Refer this link to get the required RPM.
You can also configure yum
via /etc/yum.conf
to install the best suited package for the underlying architecture. The parameter to be modified in yum.conf
is multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64
, if it is available. Best means install the best arch for this platform, only. For more refer this page and this answer.
To know the underlying archietcture , rununame -m
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
add a comment |Â
up vote
0
down vote
Try this,
You were installing i686
which is a 32-bit
library.The error clearly states that libmicrohttpd
needs a 64-bit
library.
Refer this link to get the required RPM.
You can also configure yum
via /etc/yum.conf
to install the best suited package for the underlying architecture. The parameter to be modified in yum.conf
is multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64
, if it is available. Best means install the best arch for this platform, only. For more refer this page and this answer.
To know the underlying archietcture , rununame -m
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
add a comment |Â
up vote
0
down vote
up vote
0
down vote
Try this,
You were installing i686
which is a 32-bit
library.The error clearly states that libmicrohttpd
needs a 64-bit
library.
Refer this link to get the required RPM.
You can also configure yum
via /etc/yum.conf
to install the best suited package for the underlying architecture. The parameter to be modified in yum.conf
is multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64
, if it is available. Best means install the best arch for this platform, only. For more refer this page and this answer.
To know the underlying archietcture , rununame -m
Try this,
You were installing i686
which is a 32-bit
library.The error clearly states that libmicrohttpd
needs a 64-bit
library.
Refer this link to get the required RPM.
You can also configure yum
via /etc/yum.conf
to install the best suited package for the underlying architecture. The parameter to be modified in yum.conf
is multilib_policy
.
multilib_policy Can be set to 'all' or 'best'.
multilib_policy=all
All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64
, if it is available. Best means install the best arch for this platform, only. For more refer this page and this answer.
To know the underlying archietcture , rununame -m
edited Sep 28 at 10:01
answered Sep 28 at 9:41
sai sasanka
54219
54219
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
add a comment |Â
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
I'm not savvy when it comes to arch types, did not know that i686 was 32-bit. Thank you.
â MarkMark
Sep 28 at 9:52
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
@MarkMark added a command to know the underlying architecture of your system.
â sai sasanka
Sep 28 at 9:57
add a comment |Â
up vote
0
down vote
it is always a better idea to use yum
directly in order to let yum
manage the dependencies for you:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
Relative path need not be specified foryum
like./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, theyum
actually searches for the package named./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead oflibmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if./
is specified and eventually fails sayingNo package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.
â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwiserpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.
â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentionedyum
, the OP need not even get the specific RPM manually to install viayum
and so I suggested the edit. :)
â sai sasanka
Sep 28 at 10:49
add a comment |Â
up vote
0
down vote
it is always a better idea to use yum
directly in order to let yum
manage the dependencies for you:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
Relative path need not be specified foryum
like./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, theyum
actually searches for the package named./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead oflibmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if./
is specified and eventually fails sayingNo package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.
â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwiserpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.
â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentionedyum
, the OP need not even get the specific RPM manually to install viayum
and so I suggested the edit. :)
â sai sasanka
Sep 28 at 10:49
add a comment |Â
up vote
0
down vote
up vote
0
down vote
it is always a better idea to use yum
directly in order to let yum
manage the dependencies for you:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
it is always a better idea to use yum
directly in order to let yum
manage the dependencies for you:
yum install libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
edited Sep 28 at 10:41
answered Sep 28 at 10:24
Chris Maes
9841918
9841918
Relative path need not be specified foryum
like./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, theyum
actually searches for the package named./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead oflibmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if./
is specified and eventually fails sayingNo package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.
â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwiserpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.
â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentionedyum
, the OP need not even get the specific RPM manually to install viayum
and so I suggested the edit. :)
â sai sasanka
Sep 28 at 10:49
add a comment |Â
Relative path need not be specified foryum
like./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, theyum
actually searches for the package named./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead oflibmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if./
is specified and eventually fails sayingNo package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.
â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwiserpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.
â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentionedyum
, the OP need not even get the specific RPM manually to install viayum
and so I suggested the edit. :)
â sai sasanka
Sep 28 at 10:49
Relative path need not be specified for
yum
like ./
â sai sasanka
Sep 28 at 10:40
Relative path need not be specified for
yum
like ./
â sai sasanka
Sep 28 at 10:40
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
all-right, I changed that. But it does no harm.
â Chris Maes
Sep 28 at 10:42
No, It harms actually, the
yum
actually searches for the package named ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if ./
is specified and eventually fails saying No package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.â sai sasanka
Sep 28 at 10:43
No, It harms actually, the
yum
actually searches for the package named ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
instead of libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm
if ./
is specified and eventually fails saying No package ./libmicrohttpd-0.9.22-1.el7.centos.x86_64.rpm available
.â sai sasanka
Sep 28 at 10:43
@saisasanka: the user is trying to install a package file, otherwise
rpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.â Chris Maes
Sep 28 at 10:46
@saisasanka: the user is trying to install a package file, otherwise
rpm -i
wouldn't even bother. That is why in this case using the relative path would not change anything. You are right that it would fail if you would like yum to search for the package in its repositories.â Chris Maes
Sep 28 at 10:46
ok. My thought was, since you mentioned
yum
, the OP need not even get the specific RPM manually to install via yum
and so I suggested the edit. :)â sai sasanka
Sep 28 at 10:49
ok. My thought was, since you mentioned
yum
, the OP need not even get the specific RPM manually to install via yum
and so I suggested the edit. :)â sai sasanka
Sep 28 at 10:49
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f472019%2fwhy-does-rpm-i-package-fail-on-a-dependency-that-i-have-installed%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password