[manifold] Nudge macos circleci towards python3#4571
[manifold] Nudge macos circleci towards python3#4571ochafik wants to merge 4 commits intoopenscad:masterfrom
Conversation
|
Imported to branch https://github.com/openscad/openscad/tree/python3-macos to trigger the macos Circle-CI build. |
.circleci/config.yml
Outdated
| command: | | ||
| brew update | ||
| brew install automake libtool cmake pkg-config wget meson | ||
| brew install automake libtool cmake pkg-config wget meson [email protected] |
There was a problem hiding this comment.
Just python should be sufficient as Homebrew doesn't support python2: https://docs.brew.sh/Homebrew-and-Python
.circleci/config.yml
Outdated
| name: Build OpenSCAD | ||
| command: | | ||
| export NUMCPU=$(($(sysctl -n hw.ncpu) * 3 / 2)) | ||
| export PYTHON_EXECUTABLE=/opt/homebrew/bin/python3.11 |
|
Branch updated, trying to not pin a specific python3 minor version. |
|
|
==> [email protected] |
|
-- Found PythonInterp: /usr/local/bin/python3.11 (found version "3.11.2") |
|
Keep in mind that FindPythonInterp is deprecated: https://cmake.org/cmake/help/latest/module/FindPythonInterp.html |
|
Build ran through, but verification at the end failed: |
|
btw., what is Python used for in this context? |
|
@kintel not quite sure, maybe adding manifold as a submodule was altering the python-finding logic (I did try and disable some of its subdirectories with I've pushed PythonInterp out with the last commit btw. |
|
Yeah, I see now. Direct inclusion of external libraries via cmake Golden rule of multi-platform software engineering: Making software build and run is harder than writing software in the first place : / I'll make at attempt at root causing it, but it's extra scary since Manifold add_subdirectory() pybind11, so this may run pretty deep. |
|
Here's the root cause: googletest looks for Python, prefers Python2 and leaks that state to our CMake environment: Included from Considering how liberally Manifold uses |
|
Anyway, I added a hack for now; just find our Python before someone else can find Python2 :) 62ca8bd |
|
This is probably no longer needed after merging #4573 |
Context: #4533 (comment)