Solved

Fix RPM failure due to dependencies

Posted on 2008-09-30
9
1,003 Views
Last Modified: 2013-11-13
Here is what I am going

540>rpm -ivh glib2-2.8.1-3.aix5.1.ppc.rpm
error: failed dependencies:
        gettext is needed by glib2-2.8.1-3

But I do have gettext installed
541>which gettext
/usr/local/bin/gettext

How do I let the RPM check for the gettext in /usr/local/bin to install
0
Comment
Question by:jdenver47
  • 3
  • 2
  • 2
  • +2
9 Comments
 
LVL 48

Expert Comment

by:Tintin
ID: 22609541
But do you have gettext RPM installed?

Does it show up with

rpm -q gettext
0
 
LVL 88

Expert Comment

by:rindi
ID: 22609614
What distro are you using? Why don't you just use the distro's package manager to install stuff (like yum if it is Fedora or redhat, or yast if it is suse)? Those package managers automatically take care of dependencies the way they should, and it also automatically takes care of updates. If you don't use the package manager of your distro, you risk breaking self installed packages if you run upgrades.
0
 
LVL 34

Expert Comment

by:Duncan Roe
ID: 22609995
Having verified that you actually do have the required packages installed, it is quite safe to use --nodeps to get rpm to do its stuff:

rpm -ivh --nodeps glib2-2.8.1-3.aix5.1.ppc.rpm
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 34

Expert Comment

by:Duncan Roe
ID: 22609999
I do it pretty much whenever I have to install an rpm (Slackware distro)
0
 

Author Comment

by:jdenver47
ID: 22610300
I am installing this on AIX so I dont have the flexibility to use YUM and YAST.

Also I dont want to use "--nodeps" as it will miss some links

I have not installed "gettext" using rpm, i installed binaries and compiled it...


0
 

Author Comment

by:jdenver47
ID: 22610306
So how should i let the RPM use "gettext" which I have compiled.
0
 
LVL 23

Accepted Solution

by:
Mysidia earned 150 total points
ID: 22611098
RPM enforces dependencies rigidly based on installed RPMs;  it will _not_ under any circumstances  find files installed and treat them as an installed package.

Even when an RPM depends on files or capabilities,  those files or capabilities/roles must be part of another RPM for the 'dependency' to be considered met.
(Only other RPMs can satisfy dependencies)

Your options are either:
(A)  Verify dependencies manually and install with --nodeps
to disable dependency checking for that one installation.

(B) Install Glib the same way you installed gettext, i.e. by downloading and compiling source or unpacking binaries into /usr/local,   then  test the library to verify the install works.
(C)  Remove gettext from /usr/local/bin  and install an official gettext RPM.
(D) Build your own RPM of gettext and install it.
(E) Build a 'fake'  gettext RPM that exists solely to satisfy the dependency.
(F) Build a custom RPM of glib and  hide/remove the gettext dependency.
0
 
LVL 48

Assisted Solution

by:Tintin
Tintin earned 100 total points
ID: 22611538
The problem with mixing installation types (manual and packaged) is that you run into problems just like you are having.   You have three choices

1.  Reinstall gettext as a RPM package.
2.  Install glib manually
3.  Install glib RPM with --nodeps (as already suggested)

0
 
LVL 34

Expert Comment

by:Duncan Roe
ID: 22612729
It's not the end of the world even if you do install --nodeps and some required item is not installed on your system. The software will fail on being invoked, you will see what is needed (e.g. unable to load libpango.so: no such file or directory) and you would then install the missing software. RPM tells you all missing dependencies (but not necessarily what the dependencies depend on) - it only reported gettext which you know you installed by hand - so I would not expect any problems with --nodeps.
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using 'screen' for session sharing, The Simple Edition Step 1: user starts session with command: screen Step 2: other user (logged in with same user account) connects with command: screen -x Done. Both users are connected to the same CLI sessio…
Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question