Problem on install reciteword. error on load shared libraries.

Asked by hackrole

hello, I install reciteword accodring to this : http://wiki.ubuntu.org.cn/index.php?title=Reciteword&variant=zh-cn.

1、sudo apt-get install libesd0-dev pkg-config libgtk2.0-dev esound libesd-alsa0.

2、sudo apt-get install alien.

3、wget -c http://downloads.sourceforge.net/reciteword/reciteword-0.8.4-1.fc8.i386.rpm.
sudo chmod 755 reciteword-0.8.4-1.fc8.i386.rpm

sudo alien reciteword-0.8.4-1.fc8.i386.rpm

sudo dpkg -i reciteword-*.deb

4、download the reciteword-book,reciteword-dicts and WyabdcRealPeapleTTs package. unpackage it and move it to the position accoding to the website above

5、while run reciteword in the terminal, I get this error:
reciteword: error while loading shared libraries: libaudiofile.so.0: cannot open shared object file: No such file or directory

I try to install some lib ,but it does not help. And can search nothing for this on the web. Have anyone can help to resolve this? Thank you very much.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu apt Edit question
Assignee:
No assignee Edit question
Solved by:
Manfred Hampl
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

Why chmod the file? It will be in your home folder so will have sufficient rights. Also why mark the rpm as executable? What does this achieve exactly?

Can you give the output of:

lsb_release -a; uname -a

Thanks

Revision history for this message
hackrole (daipeng123456) said :
#2

well , I don't really now why have to chmod the file or mark rpm as executable. As I think it may because of that ubuntu can't use rpm package . So I install alien to transform the rpm package to deb package.

and as you say the output is blow:

daipeng@daipeng:~/Desktop/INSTALL$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
daipeng@daipeng:~/Desktop/INSTALL$ uname -a
Linux daipeng 3.2.0-26-generic-pae #41-Ubuntu SMP Thu Jun 14 16:45:14 UTC 2012 i686 athlon i386 GNU/Linux

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#3

Try:

sudo apt-get install libaudiofile-dev

Then retry

Revision history for this message
hackrole (daipeng123456) said :
#4

sorry, this does not help. and the libaudiofile-dev had already been installed before.
so when I run :
sudo apt-get install libaudiofile-dev.
it just do nothing.

Revision history for this message
Manfred Hampl (m-hampl) said :
#5

Have you tried installing the version for Ubuntu from http://code.google.com/p/reciteword-espeak/

Revision history for this message
hackrole (daipeng123456) said :
#6

as the adivise above , I remove the old Install .and remove the package .
then do as the method above, and I can success run ./configure . But the make can't pass.
the error message is like below:

bookfile.cpp: In function ‘gchar* rw_book_get_value(const gchar*, gchar*, gint)’:
bookfile.cpp:95:27: error: invalid conversion from ‘const char*’ to ‘gchar* {aka char*}’ [-fpermissive]
bookfile.cpp: In function ‘gint rw_book_get_file_info(gchar*, gchar**, gchar**, gchar**, gchar**, gchar**, gchar**)’:
bookfile.cpp:140:46: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:153:42: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:154:44: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:155:45: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:156:43: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:157:43: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp: In function ‘BookFile* rw_book_open_file(gchar*)’:
bookfile.cpp:228:49: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:229:50: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:230:51: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:231:52: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:232:50: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:233:50: warning: deprecated conversion from string constant to ‘gchar* {aka char*}’ [-Wwrite-strings]
bookfile.cpp:209:40: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
make[3]: *** [bookfile.o] Error 1
make[3]: Leaving directory `/home/daipeng/Desktop/INSTALL/reciteword-0.8.4/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/daipeng/Desktop/INSTALL/reciteword-0.8.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/daipeng/Desktop/INSTALL/reciteword-0.8.4'
make: *** [all] Error 2

Revision history for this message
Manfred Hampl (m-hampl) said :
#7

Sorry if I was not clear enough.
I wanted to recommend installing the two *.deb packages that are shown below
the heading Ubuntu at the end of that page.

Revision history for this message
hackrole (daipeng123456) said :
#8

really thanks for your patience.
when I remoev the old install , and try to install the *.deb packages. It successed. but when I run reciteword on the terminal.
it just gives the error as before:

reciteword: error while loading shared libraries: libaudiofile.so.0: cannot open shared object file: No such file or directory

as I think , the reason may be lost of some libraries. So if you have success install this. can you run
sudo find / -name libaudiofile.so ;
env ;
and give the output ,so I can try to fix this error.

Revision history for this message
Best Manfred Hampl (m-hampl) said :
#9

The problem seems to be that the package libaudiofile0 containing libaudiofile.so.0 that has been available up to oneiric, has for precise been replaced by the libaudiofile1 package which delivers libaudiofile.so.1.

Creating a symbolic link from the old version's file name to the new file in the lib-directory (something like "sudo ln -s /usr/lib/i386-linux-gnu/libaudiofile.so.1.0.0 /usr/lib/i386-linux-gnu/libaudiofile.so.0") might solve the problem.

To find out the exact syntax (which is depending on your release and archiecture) please issue the following command and copy/paste its output:

find /usr/lib -name "libaudiofile*" -print

Revision history for this message
hackrole (daipeng123456) said :
#10

yes , this is the really answer !!

and it works now!

Thanks for all really much!!

Revision history for this message
hackrole (daipeng123456) said :
#11

Thanks Manfred Hampl, that solved my question.