Dependency resolution
Hi guys! I want to know what's your preferred way to resolve dependencies. Is there a smarter way than slackpkg install dep_a, slackpkg install dep_b and slackpkg install pkg? How do you deal with manual dependency resolution? I heard about queuefiles and sbotool but I'm interested in how can I resolve dependencies with slackpkg+ in the smarter way than slackpkg install a, slackpkg install b and then finally slackpkg install package.
|
For regular Slackware packages, I've gone the lazy route for years and just done a full install. I used to pick and choose things, but HD space is plentiful and I value my time more and more as I get older.
For 3rd-party things like SBo (SlackBuilds.org), I use either slackrepo or sbopkg. slackrepo calcuates dependencies automatically, but I need to run in on a clean Slackware install. sbopkg does not calculate dependencies, but its companion app, sqg does. I run sqg -p $PRGNAM and then use sbopkg to build/install that queue. |
Quote:
|
The official answer is "do a full install".
|
Quote:
|
What do you think about slackpkg templates? Is it a good way to organize dependencies?
|
Quote:
here I use them extensively but manually solving dependencies is not a precise science, it's more a fix-things-as-you-move-along science, you have to deal with it as is not officially supported (Slackware is offered as a whole). what I found helpful is to use the work that others have done already in this field, like the one of the Salix people (thanks guys!): they have a PACKAGES.TXT file where all the dependencies for a specific package are listed (there are even alternatives but be aware that you might encounter a few gotchas), and that came handy a few times here in preparing templates. but if you want to avoid any issues and, most important, you expect people to give you support, just go with a full install like the others already suggested, it's the best choice. |
Full install + sbotools or sboui for handling dependencies of packages from SBo.
|
Since you are asking about slackpkg specifically and it cannot be used for 3rd party repositories of software then the official answer is do a full installation.
|
I'm not running Slackware right now for reasons I've described elsewhere, but, normally, I would do a full install. When I wanted to add a new package not included in the full install, I would look first at slackbuilds.org and get it from there, installing dependencies as listed at that site before installing the desired package.
Back in the olden days, before SlackBuilds, I would look for the sources of a package I wanted, then compile from sources. When I ran make install and encountered errors, I would look for the dependency mentioned in the first error message (as subsequent errors likely resulted therefrom), resolve it, rinse and repeat. Once I resolved all the errors, I had a new working application. |
I do a full install.
For third party, I rely on the source, SBo and trail and error. I list the build requirements (in build order), the runtime requirements and the package(s) the SlackBuild is for (in reverse build order) in the SlackBuild header. |
A quick way to pick up library dependencies is to ldd a program. It will print out the libraries it can't find. For non-library dependencies (probably a very small group), run the program in a terminal and see what message it gives when it crashes.
|
All times are GMT -5. The time now is 11:39 PM. |