Solved

Fix RPM failure due to dependencies

Posted on 2008-09-30
9
997 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 87

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
 
LVL 34

Expert Comment

by:Duncan Roe
ID: 22609999
I do it pretty much whenever I have to install an rpm (Slackware distro)
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 

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

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

If you have a server on collocation with the super-fast CPU, that doesn't mean that you get it running at full power. Here is a preamble. When doing inventory of Linux servers, that I'm administering, I've found that some of them are running on l…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

746 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now