etc: fix macOS dependency installer for googletest and pyqt#9867
etc: fix macOS dependency installer for googletest and pyqt#9867Divinesoumyadip wants to merge 2 commits intoThe-OpenROAD-Project:masterfrom
Conversation
There was a problem hiding this comment.
Code Review
This pull request fixes several issues with the macOS dependency installer, specifically adding the missing googletest package, correcting the pyqt package name, and adding the --break-system-packages flag for pip on newer Python versions. The changes are correct and address the reported build failures. I have added one suggestion to improve the readability of the Homebrew package list, which has become quite long.
| log "Install darwin base packages using homebrew (-base or -all)" | ||
| _execute "Installing Homebrew packages..." brew install bison boost bzip2 cmake eigen flex fmt groff libomp or-tools pandoc pkg-config pyqt5 python spdlog tcl-tk zlib swig yaml-cpp | ||
| _execute "Installing Python click..." pip3 install click | ||
| _execute "Installing Homebrew packages..." brew install bison boost bzip2 cmake eigen flex fmt groff googletest libomp or-tools pandoc pkg-config pyqt python spdlog tcl-tk zlib swig yaml-cpp |
There was a problem hiding this comment.
For better readability and easier maintenance, consider breaking this long list of Homebrew packages into multiple lines and sorting them alphabetically. This makes it much easier to see which packages are being installed and to add or remove packages in the future.
_execute "Installing Homebrew packages..." brew install \
bison \
boost \
bzip2 \
cmake \
eigen \
flex \
fmt \
googletest \
groff \
libomp \
or-tools \
pandoc \
pkg-config \
pyqt \
python \
spdlog \
swig \
tcl-tk \
yaml-cpp \
zlib|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
etc/DependencyInstaller.sh
Outdated
| tcl-tk \ | ||
| yaml-cpp \ | ||
| zlib | ||
| _execute "Installing Python click..." pip3 install click --break-system-packages |
There was a problem hiding this comment.
Not sure about --break-system-packages, seems risky. Any alternatives?
There was a problem hiding this comment.
Not sure about
--break-system-packages, seems risky. Any alternatives?
Thanks for the feedback! You're right, --break-system-packages is a blunt approach. I can replace it with pipx install click instead , that's cleaner for Homebrew environments. Will update the PR.
8be9489 to
5ee875c
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
2 similar comments
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
Replaced pip3 install click @luarss Kindly check and give me review . |
| tcl-tk \ | ||
| yaml-cpp \ | ||
| zlib | ||
| _execute "Installing Python click..." pipx install click |
There was a problem hiding this comment.
whats pipx? does it come installed with system python?
There was a problem hiding this comment.
whats
pipx? does it come installed with system python?
pipx is not always pre-installed. I can use pip3 install click inside a venv instead, or add brew install pipx before the pip call. Which do you prefer?
There was a problem hiding this comment.
Not sure which one will have the same global python3-click effect. Can you investigate?
There was a problem hiding this comment.
Not sure which one will have the same global
python3-clickeffect. Can you investigate?
I investigated so brew install click installs a Kubernetes CLI tool, not Python's click library. It's not available as a Homebrew formula. The cleanest global solution is brew install pipx && pipx install click also, pipx is available via Homebrew and installs click in an isolated but globally accessible environment. Want me to update with this?
etc/DependencyInstaller.sh
Outdated
| log "Install darwin base packages using homebrew (-base or -all)" | ||
| _execute "Installing Homebrew packages..." brew install bison boost bzip2 cmake eigen flex fmt groff libomp or-tools pandoc pkg-config pyqt5 python spdlog tcl-tk zlib swig yaml-cpp | ||
| _execute "Installing Python click..." pip3 install click | ||
| _execute "Installing Homebrew packages..." brew install \ |
There was a problem hiding this comment.
you can revert this. I think gemini's suggestion need not be followed for this line. Packages can be on a single line
etc/DependencyInstaller.sh
Outdated
| CI="no" | ||
| SAVE_DEPS_PREFIXES="" | ||
| NUM_THREADS=$(nproc) | ||
| if [[ "$OSTYPE" == "darwin"* ]]; then |
There was a problem hiding this comment.
revert this as well please. Keep the PR clean, focused on one objective
There was a problem hiding this comment.
revert this as well please. Keep the PR clean, focused on one objective
Reverted the multiline formatting and nproc changes . PR is now focused only on the googletest and pyqt fixes. Also updated click installation to use brew install pipx && pipx install click since python-click is not available as a Homebrew formula (brew install click installs a Kubernetes tool, not Python's click).
f564def to
5a31107
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
src/grt/src/cugr/src/CUGR.cpp
Outdated
| maze_route.run(); | ||
| std::shared_ptr<SteinerTreeNode> tree = maze_route.getSteinerTree(); | ||
| assert(tree != nullptr); | ||
| if (tree == nullptr) { |
Signed-off-by: Divinesoumyadip <soumyacode7@gmail.com>
68ad55f to
d5c8a60
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Divinesoumyadip <soumyacode7@gmail.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
Fixes three bugs in the macOS dependency installer that caused build failures for new contributors on macOS.
googletestwas missing from the Homebrew package list which caused CMake to fail withCould NOT find GTestduring the build. Addinggoogletestto the brew install line fixes this directly. Thepyqt5formula name is also incorrect ,the valid Homebrew formula is pyqt and using the wrong name causes a silent failure during dependency installation leaving GUI support broken on macOS. Finally--break-system-packageshas been added to thepip3 install clickcommand which is required on macOS with Python 3.12+ where pip enforces system package protection by default and fails without this flag.Related Issues: Addresses macOS build failures reported by contributors building locally on Apple Silicon.