LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
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 08-20-2011, 05:55 PM   #1
tbaac
LQ Newbie
 
Registered: Apr 2011
Distribution: Arch, rooted Android on phone.
Posts: 5

Rep: Reputation: 0
Dependency Documentation? Is it just try-it-and-see?


Hi, n00b here. I've run Gentoo for a couple of years, and have been running Arch for a year or 2. I previously tried Slackware however I didn't really get it.

I think I understand some of the reasons why its not great to automatically install every dependency that the packager thought might be useful when they packaged the app. (This is something which Gentoo takes care of with USE flags I guess).

Is there some documentation for packages around, showing what dependencies might be needed? Is this something which is part of the downloaded package file in a documentation file?

Is it something that should be got from the app writer's own website?

It seemed to me that Slackware's lack of automatic dependency resolution was a great theory but that in practice I'd end up with one of the helper apps such as slack-get, which puts automatic dependency resolution back in.

So, sorry if this is a stupid question and sorry if its been answered in 5000 other places. I was surprised that there wasn't something in the FAQ though.

Thank you
 
Old 08-20-2011, 06:33 PM   #2
wildwizard
Member
 
Registered: Apr 2009
Location: Oz
Distribution: slackware64-14.0
Posts: 875

Rep: Reputation: 282Reputation: 282Reputation: 282
1st rule is always run with a full installation of Slackware unless your really sure about what your doing with it

If you want to compile things from source you should check http://slackbuilds.org/ and if it is there it will also list the dependencies you need.

If your compiling from source but it's not on slackbuilds then when you run "make configure" or cmake on the source you will get the deps as an error message if anything is missing, you just then grab them and add to your system as needed.

You should also think about optional deps that are not required but may add extra functionality to the package your trying to add.
 
Old 08-20-2011, 08:28 PM   #3
piratesmack
Member
 
Registered: Feb 2009
Distribution: Slackware, Arch
Posts: 519

Rep: Reputation: 142Reputation: 142
The dependencies are usually listed at the same place you got the package from.
If none are listed then there are probably no dependencies that aren't already included in the default Slackware installation.
 
Old 08-21-2011, 09:46 AM   #4
tbaac
LQ Newbie
 
Registered: Apr 2011
Distribution: Arch, rooted Android on phone.
Posts: 5

Original Poster
Rep: Reputation: 0
Thank you for the replies everyone.

I think that I was using this approach to installing packages:
http://www.slackware.com/config/packages.php

This suggests using pkgtool and installpkg. From there I'm not sure where I'd see the dependencies?

Installing (or building it then installing it) and seeing what dependencies are flagged as missing is one approach, but that is required (rather than optional) dependencies. If there is no choice as to whether dependencies need to be installed then there seems little gain to having to install them manually, other than possibly giving a greater knowledge as to what is installed on your system, which may be no bad thing.

I guess its the optional dependencies that I am thinking about as well.

Thanks for your help.
 
Old 08-21-2011, 10:08 AM   #5
wigry
Member
 
Registered: Jul 2004
Distribution: slackware
Posts: 225

Rep: Reputation: 53
Typical approach in slackware is to install an application using installpkg, then run it, it throws an ugly error that means, some obscure library is missing. Then you figure out what program might provide that obscure library, install it and try again. This time there is different error message that some other obscure library is missing - you repeat the process of finding the right program, install it and try again. This time the initial program starts and works without issue - you've just resolved all dependencies.

More and more you do this kind of trial and error installation, the better you get at estimating what is missing.

The more advanced way is to install the program and then use ldd command to see, what libraries it requires. This way you don't have to run it to see the dependency resolution failure.
 
Old 08-21-2011, 10:20 AM   #6
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
If you build packages yourself from the source you should find out about optional dependencies either from the developers website, the documentation that comes with the source or, if that package is in their database, from SlackBuilds.org.
 
Old 08-21-2011, 11:19 AM   #7
tbaac
LQ Newbie
 
Registered: Apr 2011
Distribution: Arch, rooted Android on phone.
Posts: 5

Original Poster
Rep: Reputation: 0
Fantastic, thanks everyone. I was going to give Gentoo another go but I think I'll try Slack again.

Previously I'd looked at installpkg, had no idea on dependencies and had settled for slack-get. I'd then felt frustrated that this seemed like running Ubuntu with a more fashionable name, and so tried something else.

Thanks everyone.
 
Old 08-21-2011, 11:35 AM   #8
janhe
Member
 
Registered: Jul 2007
Location: Belgium
Distribution: slackware64 14.2, slackware 13.1
Posts: 371

Rep: Reputation: 54
Quote:
Originally Posted by wigry View Post
Typical approach in slackware is to install an application using installpkg, then run it, it throws an ugly error that means, some obscure library is missing. Then you figure out what program might provide that obscure library, install it and try again. This time there is different error message that some other obscure library is missing - you repeat the process of finding the right program, install it and try again. This time the initial program starts and works without issue - you've just resolved all dependencies.

More and more you do this kind of trial and error installation, the better you get at estimating what is missing.

The more advanced way is to install the program and then use ldd command to see, what libraries it requires. This way you don't have to run it to see the dependency resolution failure.
This is a fun thing to do when you have no information about the dependencies. Most of the time the dependencies are listed in the documentation.

Also, a full install of Slackware (the only recommended way to run it) has almost everything except the kitchen sink.
When you install from source, you can ultimately ask the person who wrote the code.

Long story short, automatic dependecy resolution can be nice, but you don't actually need it all that ofthen.

Lastly, most slackers could care less about the package management system, once the system is installed and configured, there is no need to go in and change things.

Edit: for add-on software, I can really recommend using slackbuild scripts. You can find them all around the internet, but my first stop always is slackbuilds.org. At slackbuilds.org, all dependencies that aren't in a full slackware install, are listed in the README.

Last edited by janhe; 08-21-2011 at 11:38 AM.
 
Old 08-21-2011, 11:44 AM   #9
wigry
Member
 
Registered: Jul 2004
Distribution: slackware
Posts: 225

Rep: Reputation: 53
Quote:
Originally Posted by janhe View Post
This is a fun thing to do when you have no information about the dependencies. Most of the time the dependencies are listed in the documentation.

Also, a full install of Slackware (the only recommended way to run it) has almost everything except the kitchen sink.
When you install from source, you can ultimately ask the person who wrote the code.
Real [h,sl]ackers do not RTFM Als it is much more interesting to do minimal install and then start adding dependencies one by one and hoping that maybe in the end you get away with something less than full install.

If you build from source, then usually ./configure fails miserably if one cannot find dependency. Thats always amusing.

Last edited by wigry; 08-21-2011 at 11:45 AM.
 
Old 08-21-2011, 12:36 PM   #10
veeall
Member
 
Registered: May 2007
Location: Estonia
Distribution: Slackware64-current
Posts: 298

Rep: Reputation: 56
Use 'sbopkg' and its queue files, especially if installing something with a lot of dependencies, like ffmpg. For majority of apps with few dependencies this isn't even necessary if you have all stock libraries installed. Non-stock dependencies are listed in Readme files in Slackbuilds.org. If a program is not in the slackbuilds.org, dependencies are probably listed on programs web page or in INSTALL or README files in the source tarball.

For easy compiling of non-slackbuilds packages i suggest src2pkg, or ./configure && make && trackinstall routine, trackinstall is includedd in src2pkg.
 
Old 08-21-2011, 03:48 PM   #11
wigry
Member
 
Registered: Jul 2004
Distribution: slackware
Posts: 225

Rep: Reputation: 53
Damn, I feel oldschool, have no experience with things called src2pkg and friends
 
Old 08-21-2011, 10:32 PM   #12
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,129

Rep: Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121Reputation: 4121
IMHO this has about enough useful info for new users to just about qualify for a sticky.
 
Old 08-22-2011, 06:38 AM   #13
genericflounder
LQ Newbie
 
Registered: Jan 2010
Posts: 8

Rep: Reputation: 0
Additionally, the only thing that's going to track what you've installed from source is you! I've been keeping a spreadsheet since I started using Slackware which lists everything I've installed on the system, their dependencies, which version, and where I downloaded them from. As for removing programs built from source, I do believe the majority of what I've seen has had an option for 'make uninstall', which is something I didn't notice until recently :P.

Oh!
As for sbopkg, make sure you log into root using 'su -'. The hyphen is important because some programs require certain root paths to compile and this brings you into more of a true root than plain 'ol 'su' (I hope I explained that correctly, someone correct me if I'm wrong.)
 
Old 08-22-2011, 06:45 AM   #14
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Quote:
Originally Posted by genericflounder View Post
As for removing programs built from source, I do believe the majority of what I've seen has had an option for 'make uninstall', which is something I didn't notice until recently :P.
Or you use makepkg to make a package from the compiled binary, so that you can remove the software with removepkg/pkgtool/slackpkg.
 
Old 08-26-2011, 11:41 AM   #15
captain_sensible
Member
 
Registered: Apr 2010
Posts: 352

Rep: Reputation: 145Reputation: 145
wigry

ldd sounds interesting & tried ldd --help and man ldd as usual my computer didn't come out with too much info & if it could talk I would ask- can you elaborate!

the format seems to be " ldd file" its getting the context to "file" that i don't understand

do you use it with the launch command for a program?
 
  


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
need a Documentation .... Dr_classique Linux - Newbie 2 01-01-2009 10:55 AM
c documentation ilnli Debian 1 05-24-2007 07:08 PM
documentation rdyoung Linux - General 3 01-17-2007 09:15 AM
how to solve failed dependency when dependency exists dwcramer Linux - Newbie 2 08-24-2004 09:03 PM
Documentation For RH 9.0 Crotch Linux - Newbie 2 04-25-2004 05:42 PM

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

All times are GMT -5. The time now is 12:20 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