New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
after installing dependencies, brew install freecad #90
Comments
same issue here |
Hi @danielavdh (and @YSHI17172 ) - I'm not in a position to help with this as I've switched back to Linux from MacOS, but wanted to suggest that you might share some more information about your problem, in order to help others understand the situation you're encountering. For example, what version of MacOS are you using? Have you been able to use the provided FreeCAD binary? Could you attach the build log referred to by homebrew, rather than just pasting the truncated error report? Thanks! |
Same here, using High Sierra. Here's CMakeError.log:
|
Compiling 0.17 with homebrew does not work regardless of the above issue, because the libraries that are available in homebrew now no longer work with 0.17. Use the |
@peterlama is there a way write the 0.17 homebrew formula to pin certain older libraries to build 0.17 ? |
@luzpaz Not that I am aware of. It is just not how homebrew was designed to work. The version of a library is specified in the formula itself. By that I mean if you depend on Qt for example, your formula would specify "depends on qt" and homebrew would than lookup the qt formula on your system and download the version specified there. All the formulas are stored in a git repository, so a user could retrieve an older version of a formula with git, but it is not something that can be specified as a dependency. For the official 0.17 builds, we use a snapshot of an entire homebrew install that was created when 0.17 was released. https://github.com/FreeCAD/FreeCAD-ports-cache/releases/tag/v0.17 |
@peterlama and @luzpaz, home-brew does allow pinning formulae but there are pros and cons in the context of CI. We could "pin" the formulae in the ports-cache to avoid any ports updates during CI. The pro is that the port dependencies would rarely, if ever, cause a build breakage. If the goal of CI is to only test FreeCAD source code changes, then one could make an argument that this is the way to go, although it would be different than CI for other platforms. If however, the goal of CI is to test the FreeCAD source code changes and to ensure it is buildable against the current Homebrew ports, then we should test it against the latest and greatest community ports which is what we do today. The gap that is yet to be properly filled by us, is to detect ports dependency changes and rebuild the dependent ports automagically. Since the Homebrew team has become more stringent on which ports they allow in their public repos and have deprecated and abandoned many, the broader community has been trying to improve the infrastructure to better support self-hosted taps (which our FreeCAD-ports-cache) is. I haven't kept up with it but there were people looking into detecting dependency changes and performing a rebuild. One approach contemplated is to register for the FreeCAD formula/build update web-service notifications that would kick-off a job to rebuild any of our self-hosted formula that depend upon that port. Unfortunately, at the current time, I don't have the cycles required to tackle this improvement but it is doable and with a little spelunking, we might find that someone else has documented exactly what needs to be done or that the Homebrew team has made improvements to the out-of-the-box mechanisms to support it directly. |
The text was updated successfully, but these errors were encountered: