-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
Ice formula broken by forcing use of system python #29054
Comments
Hi Roger, You can read here more about our plans for some of the Python formulae moving forward:
I'd advise you not to upgrade all your production systems to Homebrew without testing this stuff first.
As mentioned in #27112 the new policy (slowly being implemented):
This is not the case. As the caveats state you need to create a single
That's operating under the assumption that anyone who uses a package with Python bindings (e.g. Boost) will use the Python bindings. That's not correct, I'm afraid. This all said I've made Thanks! |
@MikeMcQuaid Hi there. You're right that production systems shouldn't be upgraded without testing. We have two types of CI node: ones which do a daily wipe and rebuild of our homebrew dependencies to make sure our projects build with a current homebrew, and ones which are upgraded less frequently. It's the former which are affected at present, and catching stuff like this is indirectly part of their job. The other reason for doing this is that any end user who follows our instructions for deploying on homebrew will currently find them broken; that's the larger issue. We need to make sure that the current state of homebrew is functional since this is what an end user deploying our projects will experience. Thanks for the links, it's interesting reading. And I've experienced issues with python when updating the ice.rb formula in the past, so I can certainly sympathise with this being a bit of a can of worms. However, I think that the thinking that there are different classes of python user and that developers are a special case is wrong. Yes, I'm a developer and I might need to jump through hoops to get the Ice python bindings working. But our end-users are not, yet they will be forced to go through the same hoops. Whether I'm using a python module as a developer or indirectly as a user, there's no difference in how I install it. I really think that python stuff, be it scripts or modules, should work out of the box irrespective of whether they are optional or not. Setting PYTHONPATH is full of gotchas, as noted. Setting a Thanks for the patch to make the Ice python bindings optional so we at least have the choice here. It would be nice if this could be set across the board so that all python-using formulas can be made to use homebrew python. Many thanks, |
We're not making it so all python-using formulae can use Homebrew Python, I'm afraid. Making other formulae |
Hi,
#28870 broke all the systems we have deployed which make heavy use of the Ice formula and its python bindings (and will break all our users' systems too). We rely on being able to build everything against the homebrew python when available, and this has broken everything. We also have documentation published for several releases which is also broken in addition to the systems.
While building against the system python works, the package is then unusable without manually setting the PYTHONPATH for every single package, which is unsuitable for trying to deploy stuff. For all formulas which build python modules, the system python is a poor second choice over the homebrew python for this reason. If you could ensure that the homebrew python paths were automatically set for the system python, that might change, but right now this is causing significant problems.
Please consider reverting the change.
Thanks,
Roger
The text was updated successfully, but these errors were encountered: