[liblouis-liblouisxml] Re: How to get liblouisutdml to find liblouis tables on windows

  • From: Michael Whapples <mwhapples@xxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Sun, 04 Aug 2013 01:30:45 +0100

Thanks for mentioning about the lou_setDataPath function, I did hope that would fix it.


No such luck, still have the problem.

So even when I call lou_setDataPath before calling lbu_initialize I still get these errors of the tables not being found. When I call lou_getDataPath I do get the path I set returned.

I was not sure whether I should have the trailing backslash or not, I tried both and neither worked.

Looking at the BrailleBlaster directory structure I deduced the following layout:

myproject\
  liblouisutdml\
    __init__.py # My python bindings
    liblouis\
      tables\
    liblouisutdml\
      lbu_files\
    liblouis.dll
    liblouisutdml.dll

The files liblouis.dll and liblouisutdml.dll are both ones built using the windows directories of the source distributions (as if I were building for BrailleBlaster).

I have also tried the following layouts as well:
myproject\
  liblouisutdml\
    lbu_files\
    tables\
    __init__.py
    liblouis.dll
    liblouisutdml.dll

And
myproject\
  liblouis\
    tables\
  liblouisutdml\
    lbu_files\
    __init__.py
    liblouis.dll
    liblouisutdml.dll

And
myproject\
  lbu_files\
  tables\
  liblouisutdml\
    __init__.py
    liblouis.dll
    liblouisutdml.dll

In all cases I had the current working directory as myproject.

These look about all possible sensible options for directory layout, but none work, even when using lou_setDataPath.

I must also note, it is only the liblouis tables not being found, brf.cfg refers to preferences.cfg and that is found. It is files like nemeth.ctb, etc which are not found.

I just cannot tell what else can be done.

Michael Whapples
On 04/08/2013 00:09, John J. Boyer wrote:
Look at how BrailleBlaster is set up. The tables and liblouisutdml files
are in subdirectories of programData and the function lou_setDataP;ath
is used to point to it. I assume you are using the dlls generated by the
files in the windows directories of both liblouis and loiblouisutdml.
YuMei ahould know about this.

John

On Sat, Aug 03, 2013 at 08:59:55PM
+0100, Michael Whapples wrote:
Hello,
How does one get liblouisutdml to find the liblouis tables on windows?
In short it just does not seem to work and the documentation seems to
say nothing useful.

The longer description of what I am doing: I am trying to write some
python bindings for liblouisutdml. When I call either lbu_initialize or
lbu_translateString (these are the only function calls I have got round
to trying at the moment, not to say others do not work either), I just
get errors about liblouis tables not being found. I have tried passing
in a relative path (eg. liblouisutdml\lbu_files\brf.cfg) or an absolute
path, but in either case I just get these errors. If I just pass in the
name of the configuration file (eg. brf.cfg ), then I get errors about
the configuration file cannot be found.

I am only passing in a single configuration file name.

So referring to the documentation, I gather that the paths for liblouis
tables are relative to the DLL, however the documentation fails to say
what this relative path is, so I have to guess. I have tried placing the
tables directory next to the dll, in the working directory, make the
tables directory a subdirectory of a liblouis directory (again tried
placing it in both the directory next to the liblouis.dll and in the
working directory), tried placing the tables in the same directory as
the liblouisutdml configuration files, and probably a few other things
which are escaping me (I tried so many things its hard to remember
everything tried). In all cases I still get the errors about the
liblouis tables not being found.

I have no clue where liblouis is looking for the tables, the error
messages do not help as they do not say the complete path.

Sorry if I have a short tone in this, but its very annoying that this
just seems to not work regardless of what I try and its hardly a ground
breaking thing I am trying to do. If the documentation was clearer then
I probably would not have wasted as much time on this as I have and
probably would have something working, and so would not be so annoyed.
The only reason I am persisting with this is that I am writing this for
someone else, and so do not get to choose the Braille translation library.

Michael Whapples
For a description of the software, to download it and links to
project pages go to http://www.abilitiessoft.com

For a description of the software, to download it and links to
project pages go to http://www.abilitiessoft.com

Other related posts: