brew: Error: maximum tree depth (10) exceeded calculating gcc@5 dependency tree!
brew config output
HOMEBREW_VERSION: 3.5.10-49-gb2ddb34
ORIGIN: https://github.com/Homebrew/brew
HEAD: b2ddb341a0489834dbbfcb57544d87c4089926c1
Last commit: 5 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: df7d60056bc310daabb1b45757aaf63fd0eaaca8
Core tap last commit: 4 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_CURLRC: set
HOMEBREW_CURL_VERBOSE: set
HOMEBREW_EDITOR: vi
HOMEBREW_FORCE_BREWED_CA_CERTIFICATES: set
HOMEBREW_FORCE_BREWED_CURL: set
HOMEBREW_FORCE_BREWED_GIT: set
HOMEBREW_FORCE_VENDOR_RUBY: set
HOMEBREW_MAKE_JOBS: 18
HOMEBREW_NO_ANALYTICS: set
HOMEBREW_NO_ENV_HINTS: set
Homebrew Ruby: 2.6.8 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: 18-core 64-bit haswell
Clang: N/A
Git: 2.37.2 => /home/linuxbrew/.linuxbrew/opt/git/bin/git
Curl: 7.84.0 => /home/linuxbrew/.linuxbrew/opt/curl/bin/curl
Kernel: Linux 3.10.0-862.6.3.el7.x86_64 x86_64 GNU/Linux
OS: Red Hat Enterprise Linux Server release 7.5 (Maipo)
Host glibc: 2.17
/usr/bin/gcc: 4.8.5
/usr/bin/ruby: N/A
Error: maximum tree depth (10) exceeded calculating gcc@5 dependency tree!
brew doctor output
Your system is ready to brew.
Verification
- I ran
brew updateand am still able to reproduce my issue. - I have resolved all warnings from
brew doctorand that did not fix my problem.
What were you trying to do (and why)?
brew install / deps / config fails with this exception.
Error: maximum tree depth (10) exceeded calculating gcc@5 dependency tree!
What happened (include all command output)?
└─▪ brew deps --tree git --debug
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/git.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/linux-headers@5.15.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/rsync.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/lz4.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/shared/git --version
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/openssl@1.1.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/popt.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/xxhash.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/zstd.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/zlib.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ca-certificates.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/cmake.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/xz.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/glibc@2.13.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ncurses.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/linux-headers@4.4.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/pkg-config.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/gpatch.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/gcc@5.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/gmp.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/isl@0.18.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/libmpc.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mpfr.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/binutils.rb
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/m4.rb
Error: maximum tree depth (10) exceeded calculating gcc@5 dependency tree!
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/dependency_collector.rb:63:in `block in init_global_dep_tree_if_needed!'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/dependency_collector.rb:51:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/dependency_collector.rb:51:in `init_global_dep_tree_if_needed!'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dependency_collector.rb:32:in `initialize'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/software_spec.rb:41:in `new'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/software_spec.rb:41:in `initialize'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:2935:in `new'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:2935:in `stable'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:2838:in `url'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/git.rb:4:in `<class:Git>'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/git.rb:1:in `block in load_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:90:in `module_eval'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:90:in `block in load_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:102:in `load_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:122:in `load_formula_from_path'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:320:in `load_file'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:310:in `klass'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:305:in `get_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:551:in `factory'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cli/parser.rb:626:in `block in formulae'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cli/parser.rb:622:in `map'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cli/parser.rb:622:in `formulae'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cli/parser.rb:307:in `parse'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/deps.rb:80:in `deps'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:93:in `<main>'
What did you expect to happen?
Not to fail with an exception.
Looking at the code in Library/Homebrew/extend/os/linux/dependency_collector.rb maximum_tree_depth = 10 is described as an “arbitrary” number… I bumped it to 15 and so far everything is working.
global_deps.each do |global_dep_name|
# This is an arbitrary number picked based on testing the current tree
# depth and just to ensure that this doesn't loop indefinitely if we
# introduce a circular dependency by mistake.
maximum_tree_depth = 10
Step-by-step reproduction instructions (by running brew commands)
I reset my homebrew install on RHEL release 7.5 (Maipo) machine completely.
And noticed this error trying to install git
brew install git
failed with: Error: maximum tree depth (10) exceeded calculating gcc@5 dependency tree!
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 1
- Comments: 16 (7 by maintainers)
Commits related to this issue
- linux/dependency_collector: bump maximum_tree_depth. Fixes #13760. — committed to MikeMcQuaid/brew by MikeMcQuaid 2 years ago
There was a circular dependency
gettextonto itself via Python, fixed via: https://github.com/Homebrew/homebrew-core/pull/109189 and https://github.com/Homebrew/homebrew-core/pull/109173.gettextshould also have not been in the GCC dependency tree so https://github.com/Homebrew/homebrew-core/pull/109186 would have also covered it as well.We’ve since then added measures to prevent it happening again with improved CI coverage: https://github.com/Homebrew/brew/pull/13777 and https://github.com/Homebrew/homebrew-test-bot/pull/824.
Thanks a lot! @Bo98 @carlocab @jacktose
brew updateor any operation which triggers an update of Homebrew. It was fixed on our side.maximum_tree_depthwas recently bumped from 10 to 20 in https://github.com/Homebrew/brew/pull/13761 to fix errors affecting me and others. (11 was actually enough to fix it for me.)But it’s now happening again in a fresh install:
Editing
maximum_tree_depthto 40 didn’t fix it. 100 was too slow to wait for. Full info & examples in gist.I’m not sure why
gcc@5is even involved? It shouldn’t be needed for a lot of the things I’ve tried. It’s certainly not needed for e.g.brew info z.However, after a successful
brew install gcc(i.e. gcc 12), the error goes away:An issue doesn’t seem that useful. A Linux build was attempted at https://github.com/Homebrew/homebrew-core/pull/109124, but no bottles were published because the
testfailed. See https://github.com/Homebrew/homebrew-core/runs/8061347335?check_suite_focus=true#step:7:38.It would be better to investigate why the
testis failing and fix that. You could try opening an issue for it, but experience shows that those usually just go stale and get closed.