PDA

View Full Version : many missing libraries


ACiD GRiM
26th December 2008, 10:24 AM
I like to compile as many of my programs from source as possible. I run ldconfig after each install, but I'm getting a lot of missing libraries errors. Could someone tell me what I should be looking for such as tips on where symbolic links should be made and such.

an example is that rtorrent asks for libcurl.so.4 saying and if i "find / -name libcurl.so.4" it says it's in both /usr/lib and /usr/local/lib and both appear to be symbolic links. I can't find the actual file anywhere except for /root/curl-source/

PabloTwo
26th December 2008, 05:05 PM
Hello ACiD GRiM-

Sounds to me like you are well on your way to making a real mess of your Fedora install. There is certainly nothing wrong with learning how to install software from source code tarballs. Sometimes, it's the only way to get what you want, and knowing how to do that, intelligently, is a very good thing to know as a Linux user.

But compiling/installing from source code everything that you can get your hands on, just for the sake of "I can do it", when the same software package is a simple "yum install xxxxx" away, is sheer folly, especially if you're still learning the ropes about it.

Why can't you find the real libcurl.so.4 ? Because it doesn't exist except as a symlink to a higher version of that shared library file. Why is libcurl.so.4 in two locations (/usr/lib and /usr/local/lib) ? Because you either compiled and installed curl from source code tarball when rpm package of curl was already installed as part of your standard Fedora install, or the "/usr/local/lib/libcurl.so.4" was installed as part of some other source code tarball you installed which uses the prefix=/usr/local/, which Fedora doesn't use.

You are ending up with duplicate and sometimes conflicting code, especially confusing to ldconfig with multiple symlinks of the same name in different locations pointing to files in different locations. If you don't as yet know how to even see to what and where a symlink points to, you're in way over head. You need to know things like, when you run the ./configure command in Fedora, it should be: "./configure --prefix=/usr" to conform to the standard Fedora install layout, and it might help generate some error messages that alert you to the fact certain files about to be installed already exist on your system.

Wouldn't "yum install rtorrent" just be so much easier and less hassle, and avoid some of the mess you're making on your system? I think so. My 2 cents.

Paul

ACiD GRiM
26th December 2008, 07:49 PM
I agree I've made a mess of things, heh. the main reason i'm compiling a lot is I actually use CentOS 5.2 and rtorrent needed to be compiled with some extra features. Is there a way to tell yum or something to reinstall all of the packages so that any dependencies i may have naively rpm -e --nodeps removed will be fixed

PabloTwo
26th December 2008, 08:00 PM
Compiling to add/include features that aren't provided in a stock rpm package is certainly a valid reason for doing so. I have no clue as to what is in the CentOS 5.2 repos available to you, and frankly, I don't care to know. Not bothering to mention you are actually running CentOS and not Fedora in your original post is somewhat of a slap. Sorry, I can't help you any further to extract you from your predicament.

ACiD GRiM
26th December 2008, 08:15 PM
I think You might because Centos and Fedora are both based off RHEL. even though they may use different kernals, they use the same package structure. The only difference between Fedora and CentOS is the fact that Fedora uses leading edge, and CentOS only uses packages that need to be updated.

Right now I'm doing what I know to do. I'm make uninstalling all of my compiled libraries and am planning on installing the packages from pirut that I thought "since i'm compiling a newer version i don't need this old one"

marcrblevins
27th December 2008, 03:16 AM
Just ran this to see which package that missing file belongs to:

[root@kiriyamablevins ~]# yum provides */libcurl.so.4
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* fedora: fedora.osuosl.org
* rpmfusion-free-updates: mirror.web-ster.com
* rpmfusion-nonfree-updates: mirror.web-ster.com
* rpmfusion-free: mirror.web-ster.com
* rpmfusion-nonfree: mirror.web-ster.com
* updates: fedora.osuosl.org
fedora | 2.8 kB 00:00
rpmfusion-free-updates | 2.7 kB 00:00
rpmfusion-nonfree-updates | 2.7 kB 00:00
rpmfusion-free | 2.7 kB 00:00
rpmfusion-nonfree | 2.7 kB 00:00
updates | 2.3 kB 00:00
libcurl-7.18.2-7.fc10.i386 : A library for getting files from web servers
Repo : fedora
Matched from:
Filename : /usr/lib/libcurl.so.4



libcurl-7.18.2-9.fc10.i386 : A library for getting files from web servers
Repo : updates
Matched from:
Filename : /usr/lib/libcurl.so.4



libcurl-7.18.2-9.fc10.i386 : A library for getting files from web servers
Repo : installed
Matched from:
Filename : /usr/lib/libcurl.so.4
[root@kiriyamablevins ~]#

So do a:

su -
yum install libcurl

ACiD GRiM
27th December 2008, 03:23 AM
I'm just reinstalling. Could you point me to somewhere that has some of the standard practices for installing from source. Especially using libraries that are newer than what my repos provide? I think I could ./configure --libcurl=/root/libcurl.x.x for things like that. does that seem right?

JohnVV
27th December 2008, 05:25 AM
unless i have been building the software for a long time( gimp,celestia,mplayer,...) i DO READ EVERYTHING .The two files "README" ,"INSTALL" any docs in the folder( imagemagick has a doc/www/*) folder with the docs in html .Read the web site docs for finding ALL prerequisites ,build hints, and general info on building the code
like needing to add a patch for gcc4.3 or not
if fftw3 must be built using short,long,or double long floating point

1 to 3 hours of research can SAVE a full day
then before compiling i run ( even on code i know)
./configure --help
to see about changes

ACiD GRiM
28th December 2008, 04:33 AM
thanks guys for the help.

Wayne
28th December 2008, 04:45 AM
I think You might because Centos and Fedora are both based off RHEL. even though they may use different kernals, they use the same package structure. The only difference between Fedora and CentOS is the fact that Fedora uses leading edge, and CentOS only uses packages that need to be updated.



Err, you've got that the wrong way around. RedHat is based on an older version of Fedora and CentOS is built from RedHat source. CentOS even have their own forums so maybe you would get better help there. We are busy enough helping Fedora users here.

Wayne

GallComp
28th December 2008, 04:46 AM
Moving to Linux Chat, since this is not a fedora related issue...

Sandton(Johannesburg) Photos - Island's Club Photos on Instagram