Log in

No account? Create an account
LogJam [entries|archive|friends|userinfo]

[ website | LogJam ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Logjam and SSL libraries [Aug. 6th, 2002|06:35 pm]


I've emailed Evan Martin about this back and fourth, and he asked me to post it here:

Apparently, logjam doesn't require SSL support to be installed on the computer in question. However, logjam relies on curl, which in turn seems to require the files libssl.so.2 and libcrypto.so.2 (and openssl development files, if building from source).

I tried building from source on a SuSE 8.0 box with SSL installed and it failed because I didn't have the development files (it failed after ./configure, during the actual make, and it was somewhat difficult to figure out why the build was failing since the error message was unclear). Evan said ./configure didn't really have any business looking for ssl development files since logjam wasn't the one using them, and SuSE's package system should have installed them along with curl development files. I haven't mentioned it to SuSE yet - it's not that big a deal, since I could have just installed the RPM instead.

However, recently I was installing Mandrake 8.1 on a friend's computer, and she later installed the Logjam RPM. While the install went fine, trying to run the program resulted in an error (it said it needed libssl.so.2). On mandrake libssl.so.0 is installed, but not libssl.so.2. After installing the appropriate openSSL package, logjam worked.

Anyway. Evan wants to fix the RPM dependency issue, but he said he doesn't know much about RPM. Neither do I. Does anyone know a good way to make the logjam RPM rely on the openssl package that provides libssl.so.2 and libcrypto.so.2? In particular, just relying on any old openssl package won't work, because trying to force it to use .so.0 with symbolic links fails in a seg fault (not unexpectedly).

[User Picture]From: feebdaed
2002-08-06 08:43 pm (UTC)
libcurl can be built without SSL support. So build the the src rpm of LogJam with a non-SSL version of libcurl, then with rpm examines the dependencies with ldd, it won't find libssl at all.

I only use cvs version of LogJam so I have not tried this yet, but it should work.
(Reply) (Thread)
[User Picture]From: spot
2002-08-06 09:29 pm (UTC)
This issue came up a while ago. The latest build of the logjam rpms should depend on the curl that is built without openssl, but as posted, simply rebuilding the src.rpm on your host system should solve the problem. After rebuilding, you'll have a binary rpm, which you should then install.
(Reply) (Thread)
From: (Anonymous)
2002-08-08 05:52 am (UTC)

logjam suse 8.0 rpm

finish rebuild the src.rpm on suse 8.0,
just need openssl-devel, but i can't try posting to livejournal.
i don't have an account, could someone gimme the code?

(Reply) (Thread)
[User Picture]From: five0xpres
2002-08-08 05:56 am (UTC)
I've tried repeatedly to get the latest Logjam to install on my Mandrake 8.2 system to no avail. I did have it installed flawlessly back in April...is there anyway to get the version that was 'current' back then?

(Reply) (Thread)
[User Picture]From: marginoferror
2002-08-08 11:55 am (UTC)
I don't doubt that there is, but I'm sure the newer versions can be made to install. What sort of problem installing them are you having?
(Reply) (Parent) (Thread)
[User Picture]From: five0xpres
2002-08-08 12:25 pm (UTC)


libssl.so.2 and libcrypto.so.2 are needed by LogJam. I'm a relative newbie at Linux, but I didn't have any problems using the old version with the RPM of the time.

I'm going to ask a Linux guru friend of mine to link in and check it out too see if he can get it working. I just really miss having an LJ client under Linux. I prefer to browse the web with it, because it's faster but these Logjam errors are really working my last nerve. LOL
(Reply) (Parent) (Thread)
[User Picture]From: marginoferror
2002-08-08 01:22 pm (UTC)
All you have to do is install this package. To download it, follow the link and click on the title. If "rpm --install" doesn't work, try adding "--force" (I don't expect any problems, though). This will add the libraries to your /usr/lib directory, and logjam should install and run just fine.

This is assuming you have an Intel 686 (Pentium II or higher, or equiv.). If you don't, use rpmfind to find the i386 package.
(Reply) (Parent) (Thread)
[User Picture]From: five0xpres
2002-08-08 11:04 pm (UTC)

I tried to install the package at the link you gave me, but it failed saying that it was already installed. I did the force option, then installed LogJam and it worked!

Thanks alot, I'm happy happy again!
(Reply) (Parent) (Thread)
[User Picture]From: dramatis
2002-09-07 01:36 pm (UTC)
Hello... I'm the resident Linux newbie, so I hope you don't mind me asking a few questions? :-)

I'm having the same problem of Logjam not working on Mandrake 8.2 due to those same missing libraries... I downloaded the file you linked to, but this is what happens when I try to install it:

[aya@r43h96 aya]$ rpm --install openssl-0.9.6b-2.i686.rpm --force
error: cannot open Packages index using db3 - Operation not permitted (1)
error: cannot open Packages database in /var/lib/rpm

I'm sure I'm doing something really silly, but can you help me out a bit?
(Reply) (Parent) (Thread)
[User Picture]From: marginoferror
2002-09-08 07:58 pm (UTC)
Well, this sort of thing is probably one of the hardest parts of UNIX to get used to. You're trying to install system files (an action that requires superuser privliges) with a user account. Since openssl is a vital system package, Linux won't let just any user install them - that would be a security risk.

On the command line, type "su" (which means "super-user" or "set user", depending on who you ask). Then, when it asks for your password, type in the root password (as opposed to your user password - if they are the same, you should change one or the other in the interest of security). Then run the rpm command exactly like you did before. This time, when it runs it will do so with superuser permissions. You will probably also need to be the superuser to install the logjam RPM as well, if you haven't already.

Once you have installed the openssl package (and, if you like, the logjam package), type "exit" in the terminal and you will leave superuser mode and return to your normal user account.
(Reply) (Parent) (Thread)
[User Picture]From: omnifarious
2002-08-18 05:03 am (UTC)

This is a general problem

There are many different packages such that a program could work with, or without them. SSL is just one such package. There needs to be some general way of handling this in shared libraries. Pehraps some way of generating 'stub' definitions for certain classes of non-present symbols at runtime such that if the symbols are actually used, the program will crash.

The shared library dependency issue is getting such that RPM isn't enough to handle it anymore, and that's because RPM can only handle "it must be there" kind of dependencies, not "I'd like this, and if it's there it has to be this version, but it doesn't have to be there.". I'm betting .debs can't handle that either. Only full source releases like Gentoo really could without some kind of support like I just talked about.

(Reply) (Thread)