LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
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


Reply
  Search this Thread
Old 09-15-2005, 01:07 AM   #1
MamaWombat
Member
 
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33

Rep: Reputation: 15
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?
 
Old 09-15-2005, 08:07 AM   #2
Gibsonist
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: Reputation: 30
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
 
Old 09-15-2005, 04:39 PM   #3
valerie_tux
Member
 
Registered: Aug 2003
Distribution: Debian
Posts: 150

Rep: Reputation: 15
Or may be add the line
/usr/lib64/
into /etc/ld.so.conf and then run ldconfig as root.. this should also work
 
Old 09-15-2005, 08:29 PM   #4
MamaWombat
Member
 
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33

Original Poster
Rep: Reputation: 15
/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!

 
Old 09-16-2005, 03:24 AM   #5
valerie_tux
Member
 
Registered: Aug 2003
Distribution: Debian
Posts: 150

Rep: Reputation: 15
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
 
Old 09-16-2005, 06:49 AM   #6
Gibsonist
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: Reputation: 30
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?
 
Old 09-18-2005, 07:36 PM   #7
MamaWombat
Member
 
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33

Original Poster
Rep: Reputation: 15
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.
 
Old 09-19-2005, 04:41 AM   #8
valerie_tux
Member
 
Registered: Aug 2003
Distribution: Debian
Posts: 150

Rep: Reputation: 15
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
 
Old 09-19-2005, 10:10 AM   #9
Gibsonist
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: Reputation: 30
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
 
Old 09-19-2005, 07:32 PM   #10
MamaWombat
Member
 
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33

Original Poster
Rep: Reputation: 15
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?
 
Old 09-20-2005, 03:17 AM   #11
valerie_tux
Member
 
Registered: Aug 2003
Distribution: Debian
Posts: 150

Rep: Reputation: 15
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.
 
Old 09-20-2005, 09:06 AM   #12
Gibsonist
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: Reputation: 30
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
 
Old 09-20-2005, 08:00 PM   #13
MamaWombat
Member
 
Registered: Sep 2005
Location: Australia
Distribution: openSuSE 11.0
Posts: 33

Original Poster
Rep: Reputation: 15
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.
 
Old 09-22-2005, 02:53 PM   #14
valerie_tux
Member
 
Registered: Aug 2003
Distribution: Debian
Posts: 150

Rep: Reputation: 15
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.
 
Old 11-09-2005, 02:16 PM   #15
mhearn
LQ Guru
 
Registered: Nov 2002
Location: Durham, England
Distribution: Fedora Core 4
Posts: 1,565

Rep: Reputation: 57
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.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Cross-Platform LibAO Ross Clement Programming 0 03-05-2005 06:19 AM
Cant find libplds4.so to Gaim anders24 Linux - Software 2 08-27-2004 09:15 PM
GAIM, Sound, and libao DanzelKun Linux - Software 3 11-05-2003 11:30 PM
Gaim and libao problem alpinewonder Slackware 6 08-04-2003 01:05 PM
No default libao driver available. Bolivar Linux - Hardware 0 03-15-2003 10:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:09 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration