LinuxQuestions.org
Share your knowledge at the LQ Wiki.
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 10-09-2007, 07:03 PM   #1
Rick069
Member
 
Registered: Feb 2005
Distribution: Arch Linux
Posts: 204

Rep: Reputation: 30
Problem installing dependancies


In Slackware is it a common occurance to have to manually install many dependancies everytime i try to install another program? Is there a away to totally avoid this or maybe even lessen the need to manually install dependancies?
 
Old 10-09-2007, 07:13 PM   #2
Franklin
Senior Member
 
Registered: Oct 2002
Distribution: Slackware
Posts: 1,348

Rep: Reputation: 217Reputation: 217Reputation: 217
While I've certainly needed to install dependencies at times, you seem to be describing something a bit more extensive than my experience would indicate. What programs are you trying to install that are giving you such headaches?

On the other hand, if you are installing Gnome apps, then I could definitely see why this might be the case. Remember, there is no Gnome in Slack - thus no gnome libs.

Steve
 
Old 10-09-2007, 07:27 PM   #3
Rick069
Member
 
Registered: Feb 2005
Distribution: Arch Linux
Posts: 204

Original Poster
Rep: Reputation: 30
Well anything I try to install. I can't exactly remember the apps but, It was the first time I did try slackware and it just was really cumbersome to install dependacies i thought slackware would automatically take care of.
 
Old 10-09-2007, 08:39 PM   #4
Franklin
Senior Member
 
Registered: Oct 2002
Distribution: Slackware
Posts: 1,348

Rep: Reputation: 217Reputation: 217Reputation: 217
First, Slackware does not resolve dependencies for you. You are required to figure this out on your own.

Now, this may seem like a horrible thing when you have just come from a dependency-hell distro based on RPM's, but you need to understand that the splitting of applications into application and development RMP's or Debs is a big contributor to the whole dependency problem in the first place.

Slackware does not do this when a Slackware package (.tgz) is created so the dependency issue is greatly reduced from the get-go.

Second, dependencies can be created by building a package on a system that is not "pristine". What this means is that quite a number of programs will detect if foo.bar is installed on your system when you compile them. If you create a Slackware package, with foo.bar on your system, then that package now "depends" on foo.bar being on any system that tries to install the Slackware package that you created - even if that program did not normally depend on foo.bar. This happens sometimes when you use Slackware packages created by people who don't follow proper package creation rules.

This problem can be mitigated by:

1.) Doing a full install of Slackware (until you know what you are doing and the consequences on leaving out certain packages)
2.) Only add 3rd party packages that have been built on pristine machines.
3.) Build your own packages using SlackBuild scripts. (Visit www.slackbuilds.org and read)

Even if you do all the above, you will still have dependency issues. The ldd command will help. Suppose you build a package, but it will not work.

ldd /path/to/executable will list all the dependencies and if they are met or not. For example:

Code:
steve@sun:~$ which inkscape
/usr/bin/inkscape
steve@sun:~$ ldd /usr/bin/inkscape
        linux-gate.so.1 =>  (0xffffe000)
        libgtkmm-2.4.so.1 => /usr/lib/libgtkmm-2.4.so.1 (0xb7bfd000)
        libgdkmm-2.4.so.1 => /usr/lib/libgdkmm-2.4.so.1 (0xb7bba000)
        libatkmm-1.6.so.1 => /usr/lib/libatkmm-1.6.so.1 (0xb7b7a000)
        libpangomm-1.4.so.1 => /usr/lib/libpangomm-1.4.so.1 (0xb7b51000)
        libcairomm-1.0.so.1 => /usr/lib/libcairomm-1.0.so.1 (0xb7b3a000)
        libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0xb7af0000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb77af000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb772d000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7713000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb76fd000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb76f4000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb76b7000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb767e000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb767b000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7677000)
        libxslt.so.1 => /usr/lib/libxslt.so.1 (0xb7644000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb762f000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7516000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb74a1000)
        libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb749b000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7497000)
        librt.so.1 => /lib/librt.so.1 (0xb748f000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb73fb000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb73c0000)
        libpng.so.3 => /usr/lib/libpng.so.3 (0xb7385000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb737e000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb736c000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7364000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7338000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb72cb000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb71e3000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb71b8000)
        libgc.so.1 => /usr/lib/libgc.so.1 (0xb7186000)
        liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb7150000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb706b000)
        libm.so.6 => /lib/libm.so.6 (0xb7044000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7039000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7022000)
        libc.so.6 => /lib/libc.so.6 (0xb6ee0000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6eda000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6ecc000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6ec9000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb6ec1000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6ebb000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6eb1000)
        /lib/ld-linux.so.2 (0xb7f20000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6e91000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb6e8f000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6e78000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6e74000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6e6f000)
steve@sun:~$
Inkscape is not a stock slackware app, but I was able to build the dependencies required to get it to work.

Anyway, without specifics no one can really help you so I suggest you post again with programs that give you a hard time.

Hope this rambling was usefull.

Steve
 
Old 10-09-2007, 09:00 PM   #5
Rick069
Member
 
Registered: Feb 2005
Distribution: Arch Linux
Posts: 204

Original Poster
Rep: Reputation: 30
Well the rambling was very useful and pretty much told me want I did wrong whether you knew that or not. Problem is already solved on this end. Thanks again.
 
Old 10-09-2007, 09:26 PM   #6
Franklin
Senior Member
 
Registered: Oct 2002
Distribution: Slackware
Posts: 1,348

Rep: Reputation: 217Reputation: 217Reputation: 217
I'm glad I could help!

Please consider posting an example anyway. Then someone who comes across this thread during a search might be left with some specifics. I think that would make this thread more useful to others.

Up to you.
 
Old 10-10-2007, 07:49 AM   #7
Rick069
Member
 
Registered: Feb 2005
Distribution: Arch Linux
Posts: 204

Original Poster
Rep: Reputation: 30
Unfortunately i don't have any examples, but what i can add is the fact that i'd been converting rpm's to .tgz format and i guess that's where the problems began with the dependencies. I never looked for apps already in the native format. I just thought it was easier to do the conversion thing. That's what happens with newbies and distros such as slackware.
 
Old 10-10-2007, 08:03 AM   #8
onebuck
Moderator
 
Registered: Jan 2005
Location: Central Florida 20 minutes from Disney World
Distribution: SlackwareŽ
Posts: 13,925
Blog Entries: 44

Rep: Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159Reputation: 3159
Quote:
Originally Posted by Rick069 View Post
Unfortunately i don't have any examples, but what i can add is the fact that i'd been converting rpm's to .tgz format and i guess that's where the problems began with the dependencies. I never looked for apps already in the native format. I just thought it was easier to do the conversion thing. That's what happens with newbies and distros such as slackware.
Hi,

Just to add .02.

You can look at Slackware Builds, Packages & Scripts section which is part of 'Slackware-Links'.

I would suggest you use the SlackwareŽ Packages link. You will find most of the apps you need. Also rworkman's SlackwareŽ Packages has a lot of packages, especially OpenOffice.
 
Old 10-10-2007, 08:58 AM   #9
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
It's actually a lot better if you compile things yourself, things just tend to work more readily. Of course, if the dependency list is too long, then it becomes tedious.

Slackbuilds help a lot if you can't get something to compile right.

The way I compile things, I usually don't even look at the dependency list. Just download the program and run './configure', then it'll give you a dependency error, then you find the dependency and try './configure' on that, and that may give you another and so on. And then at one point one of them will actually compile, and you start working your way back out. Many things from GNOME will cause much dependency hell, mostly because GNOME libs are no longer available as a part of Slackware.

Last edited by H_TeXMeX_H; 10-10-2007 at 09:01 AM.
 
Old 10-10-2007, 09:19 AM   #10
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
Quote:
Originally Posted by Franklin View Post
First, Slackware does not resolve dependencies for you. You are required to figure this out on your own.
Franklin, you post was excellent, but I wonder how much we're required to figure out on our own.

Most sites that I visit to download source files list the dependencies, making it pretty easy to find which libraries I need to compile.

Regards,

-Drew
 
Old 10-10-2007, 08:38 PM   #11
Franklin
Senior Member
 
Registered: Oct 2002
Distribution: Slackware
Posts: 1,348

Rep: Reputation: 217Reputation: 217Reputation: 217
Quote:
Originally Posted by Lufbery View Post
Franklin, you post was excellent, but I wonder how much we're required to figure out on our own.

Most sites that I visit to download source files list the dependencies, making it pretty easy to find which libraries I need to compile.

Regards,

-Drew
A Slacker sees nothing wrong with reading the homepage for an application to learn what is required to build an app successfully. A Debian user is trained to believe that the work ends with the editing of your repository list. All the "figuring" has been done for them already. It's not that it's difficult, it's just that it was not known that someone else was doing a very simple procedure for them all this time.

It's like doing your laundry. Takes some time, but it's really quite simple.

Unless you're my room mate freshman year in college, who stuffed a record amount of dirty clothes into the washing machine and thus caused both a flood and a fire all on the same 4 quarters. Had his mom chosen to teach him to wash his clothes rather than wash them for him, he might have faired better.
 
Old 10-11-2007, 12:36 PM   #12
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
Franklin,

Your roommate's laundry woes are hilarious!

Hey, I looked at your desktop screenshots. What are you doing to KDE to make it look that way? It's pretty cool.

Regards,

-Drew
 
Old 11-05-2007, 05:22 PM   #13
pbhj
Member
 
Registered: Dec 2002
Location: UK
Distribution: Slackware 12; Ubuntu 7.10
Posts: 358

Rep: Reputation: 32
Franklin, can you tell me how you got hold of libcairomm?

Quote:
Inkscape is not a stock slackware app, but I was able to build the dependencies required to get it to work.
I've tried using a cairomm package - no lib in it. I've tried compiling with "./configure --enable-static=no" but no lib. Looking at the slackbuild I can't see anything about building libs that would help. So, what should I do. Am trying to use latest "inkscape200711011229.package" (autopackage) but despite the previous but one working fine this requires libcairomm ...?!

Thanks. Sorry to hijack the thread.
 
Old 11-05-2007, 06:09 PM   #14
Franklin
Senior Member
 
Registered: Oct 2002
Distribution: Slackware
Posts: 1,348

Rep: Reputation: 217Reputation: 217Reputation: 217
Slackbuilds.org

http://www.slackbuilds.org/repositor...aries/cairomm/

I believe this is what you are looking for.

HTH
 
Old 11-08-2007, 05:39 PM   #15
pbhj
Member
 
Registered: Dec 2002
Location: UK
Distribution: Slackware 12; Ubuntu 7.10
Posts: 358

Rep: Reputation: 32
Quote:
Originally Posted by Franklin View Post
Slackbuilds.org {snip}
Yup I've used slackbuilds before. It turns out that I was missing a swathe of deps for cairomm. Also that some of my installs didn't seem to have run properly in the past as I had to manually write quite a few "libsomething.so" links that were missing.

I did bear with the slackbuilds in the end though. Thanks.
 
  


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
dependancies DanB_1983 Linux - Software 6 02-20-2007 08:47 PM
Dependancies DIGITAL39 General 5 10-02-2006 06:10 AM
how to check dependancies before installing software. vishalkhandade Linux - Software 7 02-06-2006 05:26 AM
Installing XFree86 RPMs ~ dependancies fun stevie_velvet Linux - Software 0 09-03-2004 01:18 PM
Dependancies dibblethewrecke Linux - Newbie 3 11-24-2003 02:15 PM

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

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