Re: Now Fixed: Archlinux Speakup problems after alsa package upgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 28/12/2021 20:50, Janina Sajka wrote:
> Didier Spaier writes:
>> Hi Janina and all,
>>
>> On 28/12/2021 17:26, Janina Sajka wrote:
>>> ...
>>>
>>> Apparently there must be some kind of reason why Espeakup can't be
>>> agnostic between espeak and espeak-ng?
>>
>> espeakup is linked against the shared library installed at time of building it.
>>
>> Here:
>> dance[~]$ ldd /usr/bin/espeakup | grep libespeak
>> 	libespeak-ng.so.1 => /usr/lib64/libespeak-ng.so.1 (0x00007f290df83000)
>>
> Thanks, Didier. This does make sense.
> 
>> My guess is you will find libespeak.so.1 instead running the same command.
>>
>> So you need to rebuild espeakup-0.90 after having removed espeak and installed
>> espeak-ng only.
>>
> Are you saying I need to run ldd by hand? I thought the installation
> process upgrading from 80 to 90 would take care of the ldd?

ldd just gives an information about the dependencies. As its man page says:

ldd  prints the shared objects (shared libraries) required by each program or
shared object specified on the command line.

During the installation process maybe the program in Arch that performs the
installation checks the presence of the required dependency (probably not using
ldd but rather according to the information recorded in some file by the packager).

If so and if my assumption is correct:
1) When the packager built espeakup, espeak (not espeak-ng) was installed.
2) you can check this running the above ldd command
3) therefore espeakup can't use easpeak-ng, only easpeak.

> It's true I did not run an ldd when I tried to upgrade my older machine
> to espeak-ng and espeakup-0.90.

In any case you need to rebuild espeakup-0.90 against espeak-ng. How to do that
in Arch properly is beyond my knowledge. Here "properly" means "in such a way
that the package can be handled by Arch's packages management system". Abyway
the generic steps are:
1) make sure espeak be not installed.
2) make sure espeak-ng is installed.
3) build and install espaekup.

Oh, and computer programs are not agnostic, in the sense that their dependencies
need to meet some specifications so they can run.

Human beings can be agnostics, as Didier, but I digress...

Cheers,
Didier

> 
> Best,
> 
> Janina
> 
>> It could be possible to just make a symlink instead, but that would ugly. Better
>> just get read of espeak.
>>
>> Cheers,
>> Didier
>>
>>
> 




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]

  Powered by Linux