Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
09-15-2005, 01:07 AM
|
#1
|
Member
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33
Rep:
|
Gaim 1.5.0 won't run: Can't find libao.so.2 even though I have it?
Hi all,
**newbie question**
I recently installed the latest version of Gaim (1.5.0-3) using apt-get on SuSE 9.3.
When I try to run it I get the error message:
gaim: error while loading shared libraries: libao.so.2: cannot open shared object file: No such file or directory
but when I type "locate libao.so.2" I get:
/usr/lib64/libao.so.2
/usr/lib64/libao.so.2.1.3
So I have 2 versions installed? Should I get rid of the older one? Why can't gaim find the file?
|
|
|
09-15-2005, 08:07 AM
|
#2
|
Member
Registered: Mar 2004
Location: Meersburg (GER)
Distribution: Cygwin,RH 7.2 7.3, SuSe 6.4 8.2 9.1,TinyLinux, Debian Sarge, Knoppix 3.*, Knoppicilin, Knoppix STD
Posts: 191
Rep:
|
On the off chance
if /usr/lib does not exist yet, create an sym link to /usr/lib64
Code:
ln -s /usr/lib64/ /usr/lib/
another possibility would be if /usr/lib already exists
to sym link the lib file you are missing in it
|
|
|
09-15-2005, 04:39 PM
|
#3
|
Member
Registered: Aug 2003
Distribution: Debian
Posts: 150
Rep:
|
Or may be add the line
/usr/lib64/
into /etc/ld.so.conf and then run ldconfig as root.. this should also work
|
|
|
09-15-2005, 08:29 PM
|
#4
|
Member
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33
Original Poster
Rep:
|
/usr/lib already exists.
I checked in /etc/ld.so.conf and the line
/usr/lib64/
is already there.
I tried:
ln -s /usr/lib64/ /usr/lib/
and also:
ln -s /usr/lib64/libao.so.2 /usr/lib/
and that didn't help.
I am such a newbie and I really don't understand this whole symbolic linking as well as I should, so I'm probably not doing it right!

|
|
|
09-16-2005, 03:24 AM
|
#5
|
Member
Registered: Aug 2003
Distribution: Debian
Posts: 150
Rep:
|
OOOOh... I know I know...
ok this is going to work
on the console... type this
ln -s /usr/lib64/libao.so.2 /usr/lib64/libao.so
and then run
ldconfig
am sure Gaim will run now..
What happened is that the program that installed libao files was supposed to make sure to make a symbolic link to the latest library. So in case there was libao.so.1 and libao.so.2 the link for the file libao.so would point to the latest one. In your case you have only one version installed which is 2.1.3, the second file is just a symlink to the actual library. You can check that with any file explorer. Only one of the files will be real the other one is the link.
Strictly speaking library files should have an extension *.so and so even though your file exists its not able to link it. Now that it has link to look up to there shouldnt be any problems.. unless something more drastic is wrong
Valerie
|
|
|
09-16-2005, 06:49 AM
|
#6
|
Member
Registered: Mar 2004
Location: Meersburg (GER)
Distribution: Cygwin,RH 7.2 7.3, SuSe 6.4 8.2 9.1,TinyLinux, Debian Sarge, Knoppix 3.*, Knoppicilin, Knoppix STD
Posts: 191
Rep:
|
Quote:
Originally posted by MamaWombat
I am such a newbie and I really don't understand this whole symbolic linking as well as I should, so I'm probably not doing it right!
|
A symbolic link is similar to a "shortcut" in Windows, only far more powerfull, as the system can use these links like actual files.
IE if I have some conf files in a directory lets say /home/simpleuser/myconf but the program wants them in /etc/sillyprog/conf
you can create a link to myconf in /etc/sillyprog, the prog will look for conf but then be automatically pointed (without it knowing) to the homedir and myconf
does this make it a bit more clear?
|
|
|
09-18-2005, 07:36 PM
|
#7
|
Member
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33
Original Poster
Rep:
|
Well, I'm certainly learning alot about symbolic links. Thanks for all the info...
Valerie, I did what you said and gaim still doesn't work! *pout*
I also checked /usr/lib64 and like you said, there is the libao.so.2.1.3 which is the actual library, and there is libao.so.2 which is a link to 2.1.3, and then there's libao.so which is a link to libao.so.2. From what I understand the links are there in case a program looks for the library with that name, so that even if I update the library the name of the link will be the same?
Interesting stuff, but I still can't get gaim to work!
Oh well, Kopete is actually pretty good too.
|
|
|
09-19-2005, 04:41 AM
|
#8
|
Member
Registered: Aug 2003
Distribution: Debian
Posts: 150
Rep:
|
Ah! well.. I tried.. anyway.. new approach now. Lets figure out if libao is being linked at all or not... Now this linking is not about symbolic linking but more like linking libraries to be available to programs when they are looking for them. the ldconfig program does this job. it looks into all the folders listed in /etc/ld.so.conf and then locates all the valid library files and sort of creates a small database which the programs can then refer to at run time.
run ldconfig -P (as root) and look for libao in the results. I got this in the results. You should also be able to find something like this.
libao.so.2 (libc6) => /usr/lib/libao.so.2
In that case we can blame it on Gaim not able to find the library rather blame the poor library which has been sitting there all the time 
|
|
|
09-19-2005, 10:10 AM
|
#9
|
Member
Registered: Mar 2004
Location: Meersburg (GER)
Distribution: Cygwin,RH 7.2 7.3, SuSe 6.4 8.2 9.1,TinyLinux, Debian Sarge, Knoppix 3.*, Knoppicilin, Knoppix STD
Posts: 191
Rep:
|
Quote:
run ldconfig -P (as root) and look for libao in the results. I got this in the results. You should also be able to find something like this.
|
To make it easier for you run this command as root
Code:
ldconfig -P | grep libao
grep is a filter function and now only all lines with libao in them will be displayed
|
|
|
09-19-2005, 07:32 PM
|
#10
|
Member
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33
Original Poster
Rep:
|
ahh yes, grep, that command that I know I will have to learn how to use some day but still it gives me the willies for some reason 
ok, I tried to run ldconfig -P and was told that's an invalid option. So I ran ldconfig -p instead, I assume that's the same? Anyway the output is:
# ldconfig -p | grep libao
libaoss.so.0 (libc6,x86-64) => /usr/lib64/libaoss.so.0
libaoss.so.0 (libc6) => /usr/lib/libaoss.so.0
libaoss.so (libc6,x86-64) => /usr/lib64/libaoss.so
libaoss.so (libc6) => /usr/lib/libaoss.so
libao.so.2 (libc6,x86-64) => /usr/lib64/libao.so.2
libao.so.2 (libc6,x86-64) => /usr/lib/libao.so.2
libao.so (libc6,x86-64) => /usr/lib64/libao.so
So what does that mean?
|
|
|
09-20-2005, 03:17 AM
|
#11
|
Member
Registered: Aug 2003
Distribution: Debian
Posts: 150
Rep:
|
That means libao is available.. in three places on top of it. As long as they point to the same file I dont think there should be any problem. Now to your next lesson
using strace.
This is a handy program to figure out what might be going wrong with a program without getting into its coding. It should be there by default on your system.
this is the command you'd run. If you dont give the "-o" option it would just dump all information on the screen and it would scroll too fast. We will save it all in a text file called gaim.txt
strace -o gaim.txt gaim
now when you open gaim.txt find the section where its looking libao and paste the text comes after that here. May be that will give you the reason.
Valerie
P.s Kopete is good.. but there have been times its as cranky to me as your gaim is behaving now.
|
|
|
09-20-2005, 09:06 AM
|
#12
|
Member
Registered: Mar 2004
Location: Meersburg (GER)
Distribution: Cygwin,RH 7.2 7.3, SuSe 6.4 8.2 9.1,TinyLinux, Debian Sarge, Knoppix 3.*, Knoppicilin, Knoppix STD
Posts: 191
Rep:
|
and for a short lesson in grep
basically you can do this
Code:
grep "search expression"
to give grep some input to search you can either pipe the output of some other command into it
(what you did earlier on)
Code:
"some command" | grep "search expression"
or you can tell grep directly to search a file by simply adding the file name behind the search expression separated by a space
This is basically what you need to know bout grep to help you with your every day use.
read "man grep" for more
|
|
|
09-20-2005, 08:00 PM
|
#13
|
Member
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33
Original Poster
Rep:
|
Hi Valeria,
I used strace like you said, and this is what I get:
brk(0) = 0x8124000
readlink("/proc/self/exe", "/usr/bin/gaim", 4096) = 13
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tls/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = 0
open("/usr/bin/../lib/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/libao.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\30\0"..., 512) = 512
close(3) = 0
stat64(0xffffbca0, 0xffffbd24) = 0
open("/usr/bin/../lib/autopackage/tls/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/tls/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/tls/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/tls/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/bin/../lib/autopackage/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(0x3, 0xffffbcac) = 0
old_mmap(0x1e48500000000, 8589934593, PROT_READ|PROT_WRITE, 0xf /* MAP_??? */|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE|MAP_POPULATE|MAP_NONBLOCK|MAP_GROWSDOWN|MAP_DENYWRITE|MAP_EXE CUTABLE|MAP_LOCKED|0xfffe06c0, 2051, 0x1302c6b636170) = 0x5556d000
close(3) = 0
open("/lib/tls/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/tls/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/tls/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = 0
open("/lib/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/lib/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = 0
open("/usr/lib/tls/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = 0
open("/usr/lib/i686/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/tm/libao.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64(0xffffbca0, 0xffffbd24) = -1 ENOENT (No such file or directory)
open("/usr/lib/libao.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\30\0"..., 512) = 512
close(3) = 0
stat64(0xffffbca0, 0xffffbd24) = 0
writev(2, [{0x4ffffd237, 10021675965}, {0x2455569c08, 10021675969}, {0xa5556cee7, 10021675960}, {0x1e5556cec8, 10021675960}, {0x195556a602, 5726708685}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}, {NULL, 0}], 10) = 114
exit_group(127) = ?
This doesn't mean much to me, but it looks like gaim is looking for this libao.so.2 in a whole bunch of places, but it does eventually find it in /usr/lib I think?
*sigh*
Gibsonist, I know that grep is a hugely useful command and I am slowly learning how to use it. It's just one of those things that sounds so Linuxy and for some reason has always scared me a bit, I don't know why... Maybe it's the weird name.
|
|
|
09-22-2005, 02:53 PM
|
#14
|
Member
Registered: Aug 2003
Distribution: Debian
Posts: 150
Rep:
|
Ok.. am almost at the point of giving up. But for the sake of curiosity can you uninstall both gaim and libao2 and then install them again.
|
|
|
11-09-2005, 02:16 PM
|
#15
|
LQ Guru
Registered: Nov 2002
Location: Durham, England
Distribution: Fedora Core 4
Posts: 1,565
Rep:
|
For what it's worth, the problem is that you're running an AMD64 distro and trying to install 32 bit software on it without the compatibility libraries.
Try using the autopackage if you didn't already.
|
|
|
All times are GMT -5. The time now is 10:09 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|