[SOLVED] Some 'how to & why' questions about 'Dependency Checking'...
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Some 'how to & why' questions about 'Dependency Checking'...
Hello:
Moderator: If this is a really dumb post, please delete it so that I don't embarrass myself.
I am not trying to start a discussion on whether or not Slackware should check dependencies!
I am trying to understand on what it means to ‘check dependencies’ in Slackware.
Here is my understanding of package installation at present:
1) Installing packages ‘changes’ you Slackware installation.
2) ‘Changes’ might hurt your installation which is why you must check dependencies.
3) Some packages that you want to install are dependant on other packages and those packages may or may not be dependant on even other packages.
4) Slackware does not install the underlying packages automatically, you must make the ‘install – don’t install’ decision yourself.
Here are my questions and, if possible, I am looking for 'newbie' level responses to them:
1) When I review the underlying packages, what am I looking for?
2) How would I know if I should install them or not?
3) Is there a ‘method’ or ‘S.O.P.’ for checking dependencies?
4) Are there any really big ‘red flags’ to watch out for?
Thanks for your patience,
Click here to see the post LQ members have rated as the most helpful post in this thread.
If you get your packages from slackbuilds, the README file will generally tell you what dependencies you need.
An easy way to see if a dependency is installed on your computer is to run pkgtool (view package option). The packages are listed in alphabetical order so it is just a matter of scrolling down the list to where the dependency would be listed if installed. (You can usually get the necessary dependencies from slackbuilds as well).
If you read the file, /var/log/packages/GConf-2.28.1-x86_64-1_SBo, you get a list of all the files that are part of that package and where they're located. Here's an excerpt:
Code:
PACKAGE NAME: GConf-2.28.1-x86_64-1_SBo
COMPRESSED PACKAGE SIZE: 1928K
UNCOMPRESSED PACKAGE SIZE: 7270K
PACKAGE LOCATION: /tmp/sbopkg/sbopkg-sbooutputdir/GConf-2.28.1-x86_64-1_SBo.tgz
PACKAGE DESCRIPTION:
GConf: GConf (GNOME configuration library)
GConf:
GConf: GConf is a system for storing application preferences.
GConf: It is intended for user preferences. GNOME desktop relies
GConf: on this package.
GConf:
GConf:
GConf:
GConf:
GConf:
GConf:
FILE LIST:
./
etc/
etc/dbus-1/
etc/dbus-1/system.d/
etc/dbus-1/system.d/org.gnome.GConf.Defaults.conf
etc/gconf/
etc/gconf/2/
etc/gconf/2/evoldap.conf
etc/gconf/2/path.new
etc/gconf/gconf.xml.defaults/
etc/gconf/gconf.xml.mandatory/
install/
...
An even easier way is to look in /var/log/packages
I was aware of that too but thought it might be easier for a noob to remember "pkgtool" than the location of a file. (The more experience you get, the easier it gets to use the CLI instead of pre-installed tools).
If you have the time, I would like to know how you can tell that you should not install a dependency.
If the dependency is a system library, you must install it for the program to work.
If the dependency is a something that gives extra functionality, then its up to you to decide if you need that extra functionality
Quote:
Also, if the dependencies are already installed, there is no problem, right?
Normally thats not a problem, allthough sometimes the dependency you have can be a different version than the
version that the program requires, which might be a problem.
I remember that, long time ago, being an young Linux Padawan, I tried to upgrade BASH. Something from version 1.02 to 1.1. Then I uninstalled the old package, wanting to install the new tarball. The results, as is predictibile, was amazing!
And this problem would be that, if I updated to the 'version required', I could screw up something that is already depending the 'other version'?
The force is strong in this one...
Yes Bob, in fascinating and spectacular ways.
Remember the parable of Lazarus and the rich man. Once your in hell, it's too late for prayer so back up early, back up often and familiarize yourself with how to recover from the console (because the desktop may be a bridge too far, if you get my drift).
I meant that it's complex to figure out dependencies when the software are black boxes. Things become much easier for white boxes.
Thanks for making me google the terms black / white boxes. I learn something new everyday.
I just thought that ldd works on binarys but not on scripts.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.