LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-21-2011, 01:28 PM   #16
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612

The trouble with ldd and with reading the output from 'configure' when building from source, is that they don't usually tell you the name of the package you need -just the library or header or pkg-config file it was looking for.

Any good dependency resolver will always rely on *lots* of manually-produced and maintained data -precisely why Slackware will never have it.
 
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 02-21-2011, 01:40 PM   #17
trillobyte
Member
 
Registered: Apr 2007
Location: USA
Distribution: Slackware, FreeBSD, Trisquel
Posts: 105
Blog Entries: 1

Rep: Reputation: 33
Quote:
Originally Posted by Robert.Thompson View Post
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'?

Thanks,
When something like this comes up, would compiling a static program be the way to go?
 
Old 02-21-2011, 02:07 PM   #18
Slax-Dude
Member
 
Registered: Mar 2006
Location: Valadares, V.N.Gaia, Portugal
Distribution: Slackware
Posts: 528

Rep: Reputation: 272Reputation: 272Reputation: 272
Quote:
Originally Posted by Robert.Thompson View Post
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.
1) Correct.
2) No. Missing dependencies will only "hurt" whatever package you installed without making sure its deps where installed.
3) That's right.
4) Not only does slackware not install them, it does not tell you what they are (automatically).


Quote:
Originally Posted by Robert.Thompson View Post
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?
1) There are several ways to check if a certain package has dependencies or not:
1.1) If you don't have a full install and want to know if some official package has dependencies or not: check here
1.2) If you are installing a non-official package, then the package creator "should" provide this info to you.
1.2.1) If he doesn't, you can try executing whatever it is you installed and see if it complains about something
1.2.2) You can also use the 'ldd' command to know what libraries is an binary linked to.
1.2.3) If the package is compiled by you from source, then it will complain if deps are missing.
2) Well, you kinda have to install them... unless you recompile the program without the dependency.
3) See point 1
4) Not really

Last edited by Slax-Dude; 02-21-2011 at 02:20 PM.
 
Old 02-22-2011, 01:22 AM   #19
dc_eros
Member
 
Registered: Nov 2006
Distribution: Slackware
Posts: 294

Rep: Reputation: 39
I just install/run whatever package then fix if some package is missing. However, most of those multimedia packages have tons of dependency (dependency that has its own dependency and so on). Others have fewer dependencies.
 
Old 02-22-2011, 11:41 AM   #20
Robert.Thompson
Member
 
Registered: Nov 2009
Location: Montreal, Quebec, Canada
Distribution: LinuxMint 20 Cinnamon
Posts: 589

Original Poster
Rep: Reputation: 49
Smile

Hello:

I have read, and re-read, the posts here (as well as the linked posts) and, for a newbie, package installation and dependency checking is a 'crapshoot'.

Given the input that I have received here, safe package installation and dependency checking, for a newbie, is a 3 step process:
  1. Back up your system prior to installing a package.
  2. Attempt to install the package:
    • if there are no dependency issues, the package will be installed, for better or for worse.
    • if there are dependency issues, install them and then install the original package.
  3. After # 1 or # 2, if your system no longer works properly, reinstall your back up and ask questions in this forum.

This is because there is no simple, nor 100% definitive, answer to the question:
Quote:
How do you know if you should, or should not, install a dependency?
'Back up and roll the dice'

Thanks again for your time!

Marking as SOLVED.

Last edited by Robert.Thompson; 02-22-2011 at 11:43 AM.
 
Old 02-22-2011, 02:30 PM   #21
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
If you install using SlackBuilds from slackbuilds.org all dependencies are listed (both required and some optional dependencies). Any required dependencies must be installed, while any optional dependencies may be installed if you want the added functionality that the dependency would provide. If you are not using slackbuilds.org, usually dependencies for a given application are listed on their website or in a README or INSTALL file within the extracted source archive. There are very few applications that leave dependency information up to you to find, and assuming you are compiling from source usually the ./configure step will fail telling you which dependency is missing (assuming the application uses autoconf). There shouldn't be any need to 'guess' at dependencies, which is the incorrect conclusion you seem to have come to. Usually you wouldn't even be able to build an application without all of the dependencies available and the build would fail (and you could go install the dependency it mentions). Of course, sometimes there can be run-time dependencies but hopefully those would be included with the documentation in the source archive.

The need to guess at dependencies is really only needed when you use binaries instead of compiling from source, and again, depending on where you get the binary package from, the dependencies would still probably be listed. For example, slacky.eu provides both binary packages and SlackBuilds and provides all dependency information in a separate text file.

If you get a random binary package from the middle of nowhere (which I myself would be hesitant to install...), then you may have to guess at dependencies...but even if you do like to live dangerously and install such packages `ldd` may help you discover what you're missing anyway.

The only situation that matches your last post is when an inexperienced Slackware user tries to install a minimal system or uninstall official Slackware packages to save hard drive space. That is a legitimate situation where you may not know which packages depend on the package you're uninstalling (unless you're familiar enough with the system). And even then there have been some efforts to make that information available.
 
1 members found this post helpful.
Old 02-22-2011, 03:07 PM   #22
Robert.Thompson
Member
 
Registered: Nov 2009
Location: Montreal, Quebec, Canada
Distribution: LinuxMint 20 Cinnamon
Posts: 589

Original Poster
Rep: Reputation: 49
Hi T3slider!

I think my problem is that I do not know how to properly express myself, sorry.

From the posts I learned a lot about how to 'identify' dependencies.

The problem is that I do not understand how to 'check the them'. What am I to check? How would I know that I shouldn't install a particular dependency?

Do to my lack of understanding, I see no point in checking dependencies because I do not know what I am looking for or what I am try to accomplish. I do know that 'checking dependencies' is what separates Slackware from most of the other distro's, so, it must be something that I should learn how to do, right?

I hope that this is more clear.

Thanks,

Last edited by Robert.Thompson; 02-22-2011 at 03:15 PM. Reason: typo's
 
Old 02-22-2011, 03:26 PM   #23
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
Quote:
Originally Posted by Slax-Dude View Post
1) There are several ways to check if a certain package has dependencies or not:
1.1) If you don't have a full install and want to know if some official package has dependencies or not: check here
1.2) If you are installing a non-official package, then the package creator "should" provide this info to you.
1.2.1) If he doesn't, you can try executing whatever it is you installed and see if it complains about something
1.2.2) You can also use the 'ldd' command to know what libraries is an binary linked to.
1.2.3) If the package is compiled by you from source, then it will complain if deps are missing.
Quote:
Originally Posted by T3slider
If you install using SlackBuilds from slackbuilds.org all dependencies are listed (both required and some optional dependencies). Any required dependencies must be installed, while any optional dependencies may be installed if you want the added functionality that the dependency would provide. If you are not using slackbuilds.org, usually dependencies for a given application are listed on their website or in a README or INSTALL file within the extracted source archive. There are very few applications that leave dependency information up to you to find, and assuming you are compiling from source usually the ./configure step will fail telling you which dependency is missing (assuming the application uses autoconf). There shouldn't be any need to 'guess' at dependencies, which is the incorrect conclusion you seem to have come to. Usually you wouldn't even be able to build an application without all of the dependencies available and the build would fail (and you could go install the dependency it mentions). Of course, sometimes there can be run-time dependencies but hopefully those would be included with the documentation in the source archive.
slax-dude and t3slider already answered you: which part needs to be clarified?
if deps are needed you have to install 'em, if they are optional you simply can choose to install them or not.

Last edited by ponce; 02-22-2011 at 03:30 PM.
 
Old 02-22-2011, 04:03 PM   #24
Robert.Thompson
Member
 
Registered: Nov 2009
Location: Montreal, Quebec, Canada
Distribution: LinuxMint 20 Cinnamon
Posts: 589

Original Poster
Rep: Reputation: 49
Quote:
Originally Posted by ponce View Post
slax-dude and t3slider already answered you: which part needs to be clarified?
if deps are needed you have to install 'em, if they are optional you simply can choose to install them or not.
Sorry, is that all there is to it?

I thought that I had to check or review or verify or audit or do something important (and unknown to me) before I installed them!

Sorry again for being so totally dense!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Dependency checking this, dependency checking that. Jeebizz General 11 09-29-2009 06:51 PM
package management and dependency checking BCarey Slackware 10 01-04-2009 07:00 AM
Dependency Checking??? Southpaw76 Slackware 4 09-03-2006 12:56 PM
dependency checking in slackware? hottdogg Slackware 8 09-02-2006 05:41 PM
Netpkg adds dependency checking jpgu Linux - News 0 12-24-2005 06:53 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:46 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration