PDA

View Full Version : Having problems with failed dependencies in installing RPM


auny87
21st January 2011, 01:02 PM
after my last post i was able to make my own RPM. but i have encounterd a problem. when i try to install the RPM i get the failed dependency error as below:
error: Failed dependencies:
libc.so.6(GLIBC_2.2.5)(64bit) is needed by npm-2.7.0-100.i686
libm.so.6(GLIBC_2.2.5)(64bit) is needed by npm-2.7.0-100.i686
libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by npm-2.7.0-100.i686
librt.so.1(GLIBC_2.2.5)(64bit) is needed by npm-2.7.0-100.i686


However i have the latest glibc installed. i am using fc13-686 here is the output of rpm -qa |grep glibc
glibc-utils-2.12.2-1.i686
glibc-headers-2.12.2-1.i686
glibc-2.12.2-1.i686
glibc-common-2.12.2-1.i686
glibc-static-2.12.2-1.i686
glibc-devel-2.12.2-1.i686

i dont seem to understand y is it failing this dependency. where it should not. Let me tell you that my rpm is trying to install in the /opt directory and running rpmlint on it gives problems, it says this is not allowed, here is the output or rpmlint.
pm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/bin/mb
npm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/schema/wi_npm_common.xsd
npm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/README
npm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/bin/mps_admin
npm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/cfg/file_format_dax.xml.sample
npm.i686: E: dir-or-file-in-opt /opt/tellabs/install/npm_2.7.0-100/bin/mpe


Should this be the cause of the failed dependency. i dont think so :confused:,,kindly put me in the right direction

PabloTwo
21st January 2011, 02:39 PM
Looks to me like you are trying to install a 64 bit pre-compiled binary onto a 32 bit system. If that's the case, it's no wonder it can't find the 64 bit dependencies. The output of rpmlint would suggest to me that your %files section in the spec file needs some work.

auny87
23rd January 2011, 04:28 PM

as you can see from the output of rpm -qa i have the i686 version of glibc.. you can see the output.. but it still gives the error

leigh123linux
23rd January 2011, 04:43 PM
as you can see from the output of rpm -qa i have the i686 version of glibc.. you can see the output.. but it still gives the error


So what! , the rpm wants 64 bit glibc

auny87
23rd January 2011, 04:53 PM
isnt glibc-2.12.2-1.i686 a 64bit glibc?

forkbomb
23rd January 2011, 04:56 PM
i686 is 32-bit. But...

If a package marked as "npm-2.7.0-100.i686" is asking for 64-bit dependencies, then the npm rpm is at the very least named improperly. An i686 rpm should only have 32-bit deps.

auny87
23rd January 2011, 05:00 PM
so how wud the 64 bit glibc be named? and then what should be the name of the npm rpm?

leigh123linux
23rd January 2011, 05:02 PM
so how wud the 64 bit glibc be named? and then what should be the name of the npm rpm?

glibc-2.12.2-1.x86_64

auny87
23rd January 2011, 05:05 PM
can anybody explain y i686 is 32 bit!! isnt i686 suppose to be a superset of x86_64?

forkbomb
23rd January 2011, 05:09 PM
and then what should be the name of the npm rpm?

The name of a particular rpm file isn't entirely important as far as the rpm program or yum are concerned. Sure, there is a standard for naming rpms, but the OS itself doesn't generally care. You can rename the rpm you built as kwyjibo.txt.doc.xlsx.pdf and the same thing will result: the rpm will still be trying to pull in 64-bit deps while ignoring your 32-bit glibc et al.

Are you trying for a 32-bit or 64-bit rpm?

---------- Post added at 11:09 AM ---------- Previous post was at 11:06 AM ----------

isnt i686 suppose to be a superset of x86_64?
No. Try a web search, frankly.

i386, i486, i586, and i686 are all microarchitectures (different implementations) of the x86 instruction set. But they are all 32-bit implementations.

x86_64 is a 64-bit extension to the x86 instruction set.

auny87
23rd January 2011, 05:09 PM
basically i am trying to make my own rpm which should be a 64 bit rpm for npm. i was able to make this using rpmdevtools and rpmbuild. this is the rpm that i got.. now to test it , tried to install it on my system but i am stuck,,,what the issue here,,,shoudl i get the glibc_x86_64?

leigh123linux
23rd January 2011, 05:23 PM
basically i am trying to make my own rpm which should be a 64 bit rpm for npm. i was able to make this using rpmdevtools and rpmbuild. this is the rpm that i got.. now to test it , tried to install it on my system but i am stuck,,,what the issue here,,,shoudl i get the glibc_x86_64?


So why try and test it on a 32 bit system?

auny87
23rd January 2011, 05:49 PM
it is the same system on which i built it

leigh123linux
23rd January 2011, 05:57 PM
it is the same system on which i built it

Technically you didn't build anything (you never compiled the source code) and I suspect you are running a 32 bit O/S.

Post

uname -m

PabloTwo
23rd January 2011, 07:15 PM
From your other thread (http://forums.fedoraforum.org/showthread.php?t=257763) ....
i am new to building RPM packages. i am tyring to package a set of binary files in a tar ball. i donot want to include the sources in the RPM. the tar ball includes some binaries and some scripts. two of the binaries in the tarball are named mb and mpe. for the start i am only trying to install these two
here is my spec
I already pointed out your problem in that thread. You are packaging 64 bit pre-compiled binaries into an rpm package on your 32 bit operating system. When you try to install the package, it fails, because the binaries require 64 bit dependencies, which your 32 bit OS does not, and cannot, have.

Either get the source code for those binaries and compile them properly on your 32 bit system (to make them 32 bit compatible), or install a 64 bit version of Fedora.

auny87
24th January 2011, 05:59 AM
output of uname -m is i686