On Mon, Apr 28, 2014 at 3:10 PM, Alan Conway <[email protected]> wrote:

> I would expect things to work "out of the box" if I install proton under
> the same prefix as python/ruby/whatever. I would expect to have to set
> PYTHONPATH if I install proton somewhere else (are people really
> confused by that?)


Yes they are. What confuses people is that when you have /usr/bin/python
and /usr/local/php, one works "out of the box" and the other doesn't. That
makes it look like they were both supposed to just work and it gets filed
as a bug.


> I would never expect to set something called
> SYSINSTALL_BINDINGS and have the installer put some stuff under my
> prefix and other stuff under /usr, or have a big scary warning in my
> face suggesting that the software won't work if I don't do so.
>

The point of the big scary warning is that the behaviour is changing, not
that people should feel obliged to use SYSINSTALL_BINDINGS. If you don't
like it you're free to pretend it doesn't exist. The warning will go away
for the next release anyways.


> Agreed that python is a pain with its version numbers in the site-config
> path but I think we can get rid of SYSINSTALL_BINDINGS, simplify the
> installer and make everybody happy as follows:
>
> 1. install into fixed location <prefix>/<lib>/proton/bindings as we do
> already
> 2. if <prefix>/bin/python exists, also install into it's site-config
> location. NOTE: *<prefix>*/bin/python NOT /usr/bin/python or whatever
> python is on the PATH.
>

Installing the same files into two locations isn't particularly great,
however we have already discussed doing (2) via symbolic links.

I'm pretty opposed to getting rid of SYSINSTALL_BINDINGS though not only to
avoid spurious bug reports, but also because it is the only foolproof way
we have to get someone up and running quickly that isn't highly dependent
on their system configuration. The install instructions are pretty much
just:

  cmake SYSINSTALL_BINDINGS=ON
  make
  sudo make install

Having this level of simplicity is A) quite useful for people who just want
to try things out and B) makes it a lot simpler to test in a wide variety
of different environments. If you can come up with build behaviour that
facilitates a README that is as simple or simpler than the above then I'd
be happy to kill SYSINSTALL_BINDINGS.

--Rafael

Reply via email to