Hi Paul,
I have a Suse install myself (10.0), but I must admit I'm more familiar with UNIX (Solaris) so the following advice may not be too helpful. However that said, it looks to me like the file name is probably wrong and/or you may be missing the appropriate entry on one of your PATHs.
First off, go to the directory with the mysql .so file in it, and put in a sym-link* that has the correct name:
Code: Select all
ln -s libmysqlclient.so libmysqlclient4.0.so
Now try running the app again. If it still fails, check your PATH and your LD_LIBRARY_PATH to see if it includes the directory where the required .so file resides. If the directory is missing....
LD_LIBRARY_PATH used to be used for dynamic loading, so try adding it to that first. For example if the file was in the /usr/local/blah directory:
Code: Select all
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/blah
Now try your app again, if it still fails repeat the above, but for your PATH. And try once more. If it still fails, then the name of the path that is searched for .so files is probably something different these days. Linux forums are usually pretty helpful at answering this sort of question though.
Assuming you do need one of the PATH fixes, you'll need to get the environment set up correctly otherwise you'll need to type this everytime you run the application. You can either put the command into the program's startup script (you may have to create one if it isn't currently started from a script), or else you can put it into your .profile (assuming you're using bash). The startup script is normally the prefered option as it caters for all users, however if this is for a machine which only you will be logging in to, you can get away with putting it into your .profile.
Final caveat, I'm not at a UNIX machine right now, so I haven't been able to check on the above - I may well have made a tiny typo which could easily break everything.
I hope it helps
Cheers
Munch
* the UNIX philosophy for dynamic libraries (i.e. .so files) is very different from that of Windows. Whereas windows just overwrites an old DLL with a new one when a new version comes along, the UNIX way of doing things is to number your dynamic libraries with their version number. That way the file names are all unique and you don't need to overwrite them, you can keep multiple versions and don't have to risk breaking applications that use older versions. The way you approach it is to put a sym-link in to the latest version so that is the default that everybody picks up, but if a particular program needs an earlier version, you just change the LD_LIBRARY_PATH in its start-up script and make it pick up a symlink to a different version. E.g. you could put this in the app's install directory.