Closed nicholasjng closed 2 months ago
Sam thing happens for bat
after the recent update
bat --version
dyld[73308]: Library not loaded: /opt/homebrew/opt/libgit2@1.7/lib/libgit2.1.7.dylib
Referenced from: <968B81E5-4BAB-323C-8FD5-1BFB54F3052D> /opt/homebrew/Cellar/bat/0.24.0_1/bin/bat
Reason: tried: '/opt/homebrew/opt/libgit2@1.7/lib/libgit2.1.7.dylib' (no such file),
'/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libgit2@1.7/lib/libgit2.1.7.dylib' (no such file),
'/opt/homebrew/opt/libgit2@1.7/lib/libgit2.1.7.dylib' (no such file), '/opt/homebrew/Cellar/libgit2/1.8.1/lib/libgit2.1.7.dylib' (no
such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/libgit2/1.8.1/lib/libgit2.1.7.dylib' (no such file),
'/opt/homebrew/Cellar/libgit2/1.8.1/lib/libgit2.1.7.dylib' (no such file)
Similar issue with gping
too.
Had to run brew missing
to find the correct missing dependencies, which turned out to be libgit2@1.7
. Installing that fixed the error.
Had to run brew missing to find the correct missing dependencies, which turned out to be libgit2@1.7. Installing that fixed the error.
Just for further information, brew doctor
suggested this too, but that did not fix it for me. From what I can see, the reason here is the dyld only considers brew --prefix libgit2
and /opt/homebrew/Cellar/libgit2/1.8.1/
as a library search path, but not brew --prefix libgit2@1.7
.
Yeah, I think jj
just got missed in the libgit2 bump recently: https://github.com/Homebrew/homebrew-core/pull/166767
It looks like the latest version still dependends on 1.7.2 (https://github.com/martinvonz/jj/blob/74c275ed10a7b45e1638fb00e53e29bc6286e8ba/Cargo.lock#L1828), so an explicity dependency to that version should have been added just like bat
or gping
.
jj
needs to be switched to libgit2@1.7
and a revision
bump -- please feel free to open a PR doing so.
The others (e.g. bat
and gping
) should be fixed by
brew install libgit2@1.7
To be clear: manually installing libgit2@1.7
is, of course, a workaround. We hope to have it fixed properly soon.
In case of jj
and git-interactive-rebase-tool
, it looks like dependent tests were skipped in PR. I don't think we had any CI labels to do this so not sure what happened there. May need to watch out in case this is a bug in our CI workflow.
I think cargo-outdated
likely needs to be switched to libgit2@1.7
, is anything needed besides that switch in a PR?
I think
cargo-outdated
likely needs to be switched tolibgit2@1.7
, is anything needed besides that switch in a PR?
Just a revision
bump as well, but that should be it!
for impatient:
brew install libgit2@1.7
ln -s /usr/local/Cellar/libgit2@1.7/1.7.2/lib/libgit2.1.7.2.dylib /usr/local/opt/libgit2/lib/libgit2.1.7.dylib
for impatient:
brew install libgit2@1.7 ln -s /usr/local/Cellar/libgit2@1.7/1.7.2/lib/libgit2.1.7.2.dylib /usr/local/opt/libgit2/lib/libgit2.1.7.dylib
There shouldn't be any need to do this. You just need to brew update && brew upgrade
.
brew gist-logs <formula>
link ORbrew config
ANDbrew doctor
outputVerification
brew doctor
output saysYour system is ready to brew.
and am still able to reproduce my issue.brew update
and am still able to reproduce my issue.brew doctor
and that did not fix my problem.What were you trying to do (and why)?
Tried to follow the jujutsu VCS tutorial yesterday, got a dyld error about it being unable to locate the correct libgit2 version. It seems that it explicitly searches for libgit2@1.7, but the formula depends on libgit2 as of this writing:
When I list libgit2's lib folder, it shows me the versioned dylib for libgit2 v1.8.1:
So this seems to be a version mismatch of libgit2 for the jj formula.
What happened (include all command output)?
What did you expect to happen?
jj just printing me the version.
Step-by-step reproduction instructions (by running
brew
commands)