I donor see any issue with placing the precompiled binaries into /usr/local/ that is after all where the makefile puts them and is the Apple approved location for such items. A good many app bundle installers place things there. The one issue I have is that the tables really should be going into /Library/ someplace. Sent from my iPhone Greg Kearney Commonwealth Braille and Talking Book Cooperative > On 15 May 2014, at 12:32 am, Bert Frees <bertfrees@xxxxxxxxx> wrote: > > Again, personally I wouldn't make an installer that simply puts the files in > /usr/local/. Maybe it's just my imagination, but it feels wrong to me. It > would be good to know what others think about this? > > First, I don't like software that just puts stuff in places I don't know > about, I like to be able to easily remove it whenever I want. Second, there > is no real reason it should be in /usr/local/, unless you are a developer or > you compiled the software yourself. > > What I would do, and what I think is also the standard way to do these kind > of things on Mac OS, is to make an Application bundle (or in your case a > Service bundle) and include the required libraries and files in the bundle. > When running your Python script, point LD_LIBRARY_PATH to the directory of > your liblouis.dylib, PYTHONPATH to the directory of your Python bindings and > LOUIS_TABLEPATH to the directory of your UEBC table. (If you are planning to > use file2brl as well, but I don't think you are, you'll have to make some > additional precautions during the compilation to make sure the correct > libraries are found at runtime.) > > Anyway, this just my opinion. > > If you want to find out where "make install" installs all the files, just use > "./configure --prefix /any/path/you/want" and inspect that path. > > @ David: Using MacPorts or Homebrew is indeed still asking too much of the > average user. Installing a Homebrew package is essentially the same as > downloading and compiling the source. (By the way, this is a Homebrew formula > for liblouis I made some time ago: > https://github.com/bertfrees/homebrew/commit/357174c443534166496398b1a31df9006e43b88c.) > > Bert > > > 2014-05-15 6:26 GMT+02:00 John J. Boyer <john.boyer@xxxxxxxxxxxxxxxxx>: >> Greg, >> >> You may get conflictging advice. From your previous messages it appears >> that you have installed things in the default locations, which would be >> /usr/local . The things you want are in the subdirectories of /usr/local >> except for libxml2 . If you installed only liblouis and liblouisutdml >> there you could just copy that directory and all its subdirectories and >> files. It is important to maintain the directory structure. Otherwise >> the libraries will be unable to find tables, configuration files, etc. >> You will have to do something about libxml2. The best approach would be >> to build it from source and make sure it installs in /usr/lolcal. >> >> What I have said may not be completely accurate. Only someone who could look >> at your machine could be sure. >> >> John >> >> On Wed, May 14, 2014 at 01:22:07PM -0700, Greg Kearney wrote: >> > What I would really like to do is to install all the binaries, support >> > files and libraries so that I have everyone in the right places in effect >> > I want to write and installer that will do what make install does. >> >> > >> > On May 14, 2014, at 1:01 PM, David Sweetman <david@xxxxxxxxxxxxxxxxx> >> > wrote: >> > >> > > I think you likely won’t want to have end-users building the library >> > > from source — though it may be simple to make a homebrew or macports >> > > installer (and it looks like a macports installer does exist, but it’s >> > > outdated at version 2.1.1), that's still probably asking a lot of the >> > > average user. >> > > >> > > I’ve never distributed a tool like this so I’m hazy on exactly what is >> > > required — but for liblouis, looking at the __init__.py created by >> > > python/setup.py, it appears the python binding makes use of the dynamic >> > > library ‘liblouis.2.dylib’, (line 65). So potentially all you need to do >> > > is somehow include that dylib for the python bindings to work. From the >> > > directory where you’ve build liblouis, if you run: >> > > >> > > find . | grep dylib >> > > >> > > It should return two results in the hidden .libs folder: >> > > >> > > ./liblouis/.libs/liblouis.2.dylib >> > > ./liblouis/.libs/liblouis.dylib >> > > >> > > According to the README in the liblouis python directory, that dylib is >> > > expected to be in a standard install location, and I’m not really 100% >> > > clear on what that means in context of cdll loading it in the init >> > > script. Hopefully somebody else can advise on best-practice for what you >> > > want to do, but if you provide a dylib to end-users, you may have to >> > > find a way to somehow either tell python to look for the dylib where >> > > you’ve put it, or adjust __init__.py to use the full path to the dylib >> > > you’ve provided (again, that's just a hypothesis, it’s uncharted >> > > territory for me). >> > > >> > > >> > > On May 14, 2014, at 10:58 AM, Greg Kearney <gkearney@xxxxxxxxx> wrote: >> > > >> > >> OK here is what I am working on which is why I needed to get liblouis >> > >> working in the first place. >> > >> >> > >> I have a system service for MacOS that will take the highlighted text >> > >> and translate it into contracted UEBC Braille and replace the selected >> > >> text with this translation. This is to be used mostly by sign writing >> > >> companies, Think of selected the text for a sign and getting back the >> > >> braille. >> > >> >> > >> Now for this to work I need to have a method of installing not only the >> > >> service but also libouis as well as to make sure the python binding get >> > >> activates, the translation is done in a python script. So now what I >> > >> need is a complete list of where everything get put when we do make >> > >> install so that I can go and copy all these files and build an >> > >> installer to put everything where it needs to be, run the python >> > >> setup.py script and have everything in place for the service. >> > >> >> > >> There is no way that any fellow in a sign shop or consumer end user of >> > >> this will ever understand the whole configure.make/make install >> > >> process. Further most will not have the developer tools installed to do >> > >> so. >> > >> >> > >> So can someone provide me with the paths and names of everything that >> > >> liblouis installs so that I can make up a way to install all of this? >> > >> >> > >> Thanks >> > >> >