![]() |
Issues with libssl.so libcrypto.so
Code:
/usr/bin/php: /usr/local/zend/lib/libssl.so.0.9.8: no version information available (required by /usr/bin/php)From the looks of it, the Zend installation somehow messed up my linkages. I'd like to know how to fix this. Any help? Thanks in advance. |
Start with, as root: /sbin/ldconfig.
This will rebuild the "loader cache" file, which is what the loader uses to resolve requests for various library-names to a direct reference to the appropriate file. (Basically, it searches for everything all at once and caches the result of that search.) This should have happened as part of any library update, but maybe it didn't. Unfortunately you also must verify that the crypto (and other?) libraries on your system have not been compromised. If the message vanishes after doing "ldconfig," it is reasonable to presume (absent other indications of malfeasance) that they have not. |
Please have a look into these points too:
1. If /usr/local/zend/lib/libssl.so.0.9.8 file exists. 2. nm /usr/local/zend/lib/libssl.so.0.9.8 (To check if library is proper) 3. In your Makefile you must be using libssl.so. Check if this file points to /usr/local/zend/lib/libssl.so.0.9.8 |
Quote:
|
Quote:
You get the idea. You're diagnosing a problem, and so there's no categorical way for anyone to tell you what the source of the problem might be. What you do know is that, either the software is asking for the wrong thing; or it's asking for the right thing but the right thing is not there; or, it's asking for the right thing, and the right thing is there, but it can't find it. (Or one last possibility: that it's finding it but it's somehow improperly-installed and therefore it can't load it.) Happy sleuthing! |
Quote:
Actually, that didn't work. It's still making life miserable for me, autocomplete has been rendered more or less unusable now. I'm surprised that it didn't work. I think I'll have to rebuild the files, or maybe the system is pointing to a different file altogether which doesn't contain the version information. And since the system now points to files inside the Zend folder, I'm assuming that it was the Zend installation that wrecked my system. Poor on Zend's part. |
Bump.
This is causing major system problems. I'm unable to start nautilus, for example. Can anyone please help me rebuild these linkages? Looks like there is no other option but to reinstall. |
Nonsense! Put on your gumshoes and figure out what's wrong! "Reinstalling" might not solve anything whatsoever. (And besides, it's what "Windows weenies" do ... ;) )
|
libssl.so and libcrypto.so are two important system files
and are in /lib now having a DIFFERENT copies of these in "/usr/local/zend/lib/" would cause some problems the SYSTEM copy in /lib is read into the OS FIRST and used the different one in /usr/local/zend/lib is never even read nor seen by the OS now YOU ran ld on the copies in /usr/local/zend so the OS is NOW using those over the default -- that will cause problems there is a few ways around that rebuilt the program and point it to the different versions - best way or use a OS that uses that explicit version and never update ( not recommend) i ran into a similar problem running a MUST use program on fedora 11 i ended up on cent5 now running sl6 WITH a like problem the the program is looking for libcrypto.so.0.9.8 when the OS has libcrypto.so.1.0 make a link from 1.0 to 0.9.8 fixed it |
/me nods...
If you have more than one copy of this library on your system, then that's pretty much a dead giveaway that there will be sea monsters in the waters that you are about to navigate. (To find out if this might be the case, first run /sbin/updatedb as root, then locate the libraries in question.) When almost any Linux program runs, it will specify a list of libraries that it needs ... and it will expect the system to be able to furnish suitable copies of those libraries "on the fly." (In the Microsoft Windows environment, such libraries are called "DLLs.") Linux has a rather clever and rather sophisticated way of being able to resolve those requirements ... a system that (decidedly unlike Microsoft Windoze...) can support having multiple versions of the same library on the same system at the same time. The linchpin to this system is "the loader library cache," which you can begin to get a grip on by reading man ldconfig and man ld. Because it would be too expensive to have to search for these libraries every time a program needed to be loaded, the loader (ld) expects the necessary information to be pre-computed in advance (by ldconfig). Without straying too far from our present topic, let's agree to say that "instead of looking for libraries by 'file names,' programs can look for them by 'keys' which are, thanks to the magic of the cache-file, resolved to 'file names.' (Let's just agree, shall we, to leave it at that...) In short: When the rubber finally hits the road, it doesn't matter if a particular file exists. What matters is, whether or not it's in the loader cache file, and therefore, whether the contents of that file are current. (Hence /sbin/ldconfig, and all the various and wonderful configuration files that are associated with it...) "Linux." It's weird. It's wonderful. It works. :) |
| All times are GMT -5. The time now is 03:14 PM. |