robotology/speech

Svox running error

Closed this issue · 7 comments

Hi all,

Svox stopped working. Running the testing option written in the svox manual:

$ yarpdev --device speech --lingware-context speech --default-language en-US --pitch 100 --speed 100

produces the following linking error:

error while opening /usr/local/src/robot/iCubContrib/ICUBcontrib_pc104new/lib/speech/svox_speech.so:
  libYARP_name.so.1: cannot open shared object file: No such file or directory
Cannot load plugin from shared library (svox_speech)
(svox_speech: cannot open shared object file: No such file or directory)
yarpdev: ***ERROR*** could not find device <speech>
[ERROR]yarpdev: ***ERROR*** device not available.
[INFO]Suggestions:
[INFO]+ Do "yarpdev --list" to see list of supported devices.
[INFO]+ Or append "--verbose" option to get more information.

EDIT: CMakeList.txt changed and compiled properly. - Still, the abovementioned problem persists.

While trying to compile svox itself, I've noticed that in the CMakeList.txt the yarp_prepare_device is deprecated, and suggested to be changed to yarp_prepare_plugin; I changed this:

yarp_prepare_device(${PROJECT_NAME} 
                    TYPE yarp::dev::Speech 
                    INCLUDE speech.h)

to this:

yarp_prepare_plugin(${PROJECT_NAME} 
                    TYPE yarp::dev::Speech 
                    INCLUDE speech.h)

Unfortunately, it doesn't like it:

CMake Error at /usr/local/src/robot/yarp/cmake/YarpPlugin.cmake:229 (message):
   Not enough information to create speech

     type:     yarp::dev::Speech
     include:  speech.h
     message:
 Call Stack (most recent call first):
   CMakeLists.txt:22 (yarp_prepare_plugin)

Any suggestions?

Thanks!

@traversaro, :) Thanks, that solved the problem of the CMakeList. Shall we update the CMakeLists file in github?

However, I still have the same problem of the library linking. I tried to update and recompile everything but it doesn't solve the issue. :/

Shall we update the CMakeLists file in github?

It depends, if the project is also meant to still work with the last release of YARP, I think we still need to use the old deprecated interface.

The loading error seem related to a misconfigured rpath: probably you need either to fix the rpath configuration of this library (difficult, if you are not en expert) or just add the directory in which the YARP libraries are installed in LD_LIBRARY_PATH.

I'll be dealing with the update issue as soon as the VVV school is over.

@pattacini, please let me know if you have any updates!
Thanks!

@amaroyo I've just applied the patch for upgrading the cmake directive.

Aside from that, there shouldn't be any other issue. Lately, we compiled svox on one of our systems without any particular trouble.