#132·audiblez

[Linux] Malformed glob in `set-espeak-library()` results in disabling `espeak-ng`

Author: chatziiolaCreated Nov 23, 2025Updated Nov 23, 2025

I am writing this after testing the module on fedora:

  • Running results in an exception being raised in set-espeak-library(), causing the error message that espeak-ng is not installed
  • That happens even if espeak-ng has in fact been installed and tested

Problem root

After installing espeak-ng with the distribution's default package manager, dnf, the library gets installed at /usr/lib64/.

example
 -> find / -type f -name '*libespeak-ng*' 2>/dev/null
/usr/lib64/libespeak-ng.so.1.1.51

However, the check currently in place in set-espeak-library(), under the linux branch is:

python
library = glob('/usr/lib/*/libespeak-ng*')[0]

Solution

I propose a solution in the form of:

python
library = glob('/usr/lib**/libespeak-ng*')
  • This way we get true recursion
  • We also search in directories such as lib64

If you feel that it is acceptable, I have no problem opening a pull request with this correction.