fredvs wrote:

- For [...], the eSpeak source produces a executable without static
espeak-library nor static portaudio-library included in executable.
  So both espeak-library and portaudio-library must be installed in library
path of the system.
  If libraries are not installed in library path of the system, a trick that
works is:

To do run the program => - first dynamic load portaudio with
loadlibrary('/the_path_you_want/libportaudio.so').
  - then dynamic load libespeak with
loadlibrary('/the_path_you_want/libespeak.so').
  - run the executable via TProcess (speak).

All is working like charms.

Now i heard that this trick is unsafe.

Why ?

I suspect that the point is that whatever reference counts that the OS maintains for the library will be decremented if the outer program terminates, at which point the demand-loaded code will be removed from memory.

Before trying anything like this, I suggest that it would be worth finding under what circumstances appropriate symlinks etc. are set up.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to