RPM dependencies needed

Help with Setup, Hardware, Performance or other Issues...Or just pimp your rig.
Post Reply
User avatar
Workaphobia
Master Sergeant
Master Sergeant
Posts: 252
Joined: Wed May 26, 2004 7:29 pm

RPM dependencies needed

Post by Workaphobia »

I'm trying to install the 2.0 rpm on my Mandrake Community 10.1 system. 1.10.8 works without a problem, but this one apparently has dependencies on packages that I don't have installed.

Code: Select all

rpm -i bzflag-2.0.0.20050121-0.i386.rpm
error: Failed dependencies:
        libcrypto.so.2 is needed by bzflag-2.0.0.20050121-0
        libcurl.so.2 is needed by bzflag-2.0.0.20050121-0
        libssl.so.2 is needed by bzflag-2.0.0.20050121-0
urpmi does about the same thing, except that it only lists one of the them: libcurl.

I did a rpm -qa | grep to see if any of them already existed on my system, and libcurl3-7.12.1-1mdk is already there.

So I guess I'm asking where I can find these packages. I'm also wondering why urpmi, which I was told was better than the basic rpm utility, only managed to list one of the three dependencies. And does anyone know what the difference is between libcurl.so.2 and libcurl3-7.12.1-1?

[edit] The mandrake control center says that my version of libcurl contains libcurl.so.3. Does this mean that I have to specifically downgrade my packages to be able to play the latest release?
"Nifty News Fifty: When news breaks, we give you the pieces."
User avatar
Workaphobia
Master Sergeant
Master Sergeant
Posts: 252
Joined: Wed May 26, 2004 7:29 pm

Post by Workaphobia »

Okay this is really starting to tick me off. I can't compile from CVS because my automake/autoconf tools are a wreck - I can't tell if they're installed or not, or where to find the most recent version, or even if I want the most recent version because I don't know what BZ needs. Whether or not I have a C++ compiler installed is also a mystery - or rather, whether I have one that the makefiles will detect.

What exactly are the prerequisites to compiling or installing from RPM, and where can I find them?

[edit] Okay, I'm marginally closer. I managed to find an older version for libcurl, and am still looking for the others. Sheesh, I should switch to a debian-based package distro, so I can use apt-get.

[edit edit] I found that the other two are both part of openssl, but I already have openssl-0.9.7d-1mdk, and can't install 0.9.6b-35.7 over it like I could with libcurl. What do you do when you have software that requires mutually exclusive packages? :x
"Nifty News Fifty: When news breaks, we give you the pieces."
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak »

Create softlinks from your newer so's to the ones that bzflag is looking for.

ln -s /lib/openssl.so.0.97 /lib/openssl.so.2

or maybe the filenames are the other way around.
User avatar
Workaphobia
Master Sergeant
Master Sergeant
Posts: 252
Joined: Wed May 26, 2004 7:29 pm

Post by Workaphobia »

I didn't quite work, but I'll try it in a few other permutations.

Code: Select all

ln -s /usr/lib/libssl.so.0.9.7 /usr/lib/libssl.so.2
ln -s /usr/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so.2
ln -s /usr/lib/libssl.so.0.9.7 /lib/libssl.so.2
ln -s /usr/lib/libcrypto.so.0.9.7 /lib/libcrypto.so.2

rpm -i bzflag-2.0.0.20050121-0.i386.rpm
error: Failed dependencies:
        libcrypto.so.2 is needed by bzflag-2.0.0.20050121-0
        libssl.so.2 is needed by bzflag-2.0.0.20050121-0
[edit] DTR, you rock! I did a quick search now that I knew that my particular problem could be solved with symbolic links, and found I just needed to install the rpm with the -nodeps option. Thanks! :)
"Nifty News Fifty: When news breaks, we give you the pieces."
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak »

Oops, forgot to mention -nodeps. The links need to be there so it will run, but rpm is rather stupid and doesn't realize that they're there, since it didn't install them.
Longhair
Private First Class
Private First Class
Posts: 330
Joined: Tue Feb 08, 2005 6:06 pm
Location: Lancaster, PA
Contact:

Post by Longhair »

You guys seem to know this already, but for future readers who don't...

Here's what worked for me running Fedora Core 3

Open a terminal- I just assumed that I would need superuser mode, maybe you don't.

get to the directory where these are

# cd /usr/lib

make new symbolic links to the current libraries
(I needed libcrypto, libcurl, and libssl)

# link libcrypto.so libcrypto.so.2
# link libcurl.so.3 libcurl.so.2
# link libssl libssl.so.2

note that when using the link command, you input the existing link first, then the name of the link that BZflag is looking for.

There's probably a better way to do this, but it does work for this relative newbie to linux! :)
dtgolder
Private
Private
Posts: 1
Joined: Wed Feb 09, 2005 5:09 pm

Post by dtgolder »

Longhair wrote:# link libcrypto.so libcrypto.so.2
# link libcurl.so.3 libcurl.so.2
# link libssl libssl.so.2
Interesting...the first 2 worked, the last one didn't (said the file libssl couldn't be found)

BZ Flag works now, but do I need the SSL link?

Running Fedora Core 3...x86

Thanks!
d
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak »

SSL is not actually used by BZFlag...it's a dependency of libcurl, so if your libcurl is linked with the version of SSL that you actually have, BZFlag doesn't need to know anything about it. Aside from which, BZFlag doesn't use the parts of libcurl that need SSL anyway, so you could get away with a non-SSL libcurl if you wanted (the windows binary ships with a non-SSL libcurl).
User avatar
Workaphobia
Master Sergeant
Master Sergeant
Posts: 252
Joined: Wed May 26, 2004 7:29 pm

Post by Workaphobia »

Ok, similar problem. I'm helping my friend put bz 2.0 on his Suse machine. I created symbolic links for crypto and ssl. Curl already appears to be there, but it's supplied by a different package, namely "compat-curl2-7.11.0-4.1". I installed bz using --nodeps, but when I run it, I get "bzflag: error while loading shared libraries: libcurl.so.2: cannot open shared object file: No such file or directory".

Could this have something to do with the fact that on his machine, curl is installed in /usr/lib64 instead of /usr/lib?
"Nifty News Fifty: When news breaks, we give you the pieces."
Post Reply