Installing tmux but getting “dyld: Library not loaded Referenced from: /usr/”
-
30-09-2020 - |
Question
I try to do
brew install tmux
it installs, but, probably due to previous failed and not fully removed non-brew attempts to install both it and libevent, when try to use tmux I get
$ tmux
dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib
Referenced from: /usr/local/bin/tmux
Reason: image not found
Trace/BPT trap: 5
I tried to install libevent but I got:
$ brew install libevent
Warning: libevent-2.0.21 already installed, it's just not linked
so I tried
$ brew link libevent
but I got
Linking /usr/local/Cellar/libevent/2.0.21...
Warning: Could not link libevent. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/libevent/2.0.21/include/event2/util.h
Target /usr/local/include/event2/util.h already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
brew link --overwrite formula_name
To list all files that would be deleted:
brew link --overwrite --dry-run formula_name
so I tried
$ brew link --overwrite libevent
but I got
Linking /usr/local/Cellar/libevent/2.0.21...
Warning: Could not link libevent. Unlinking...
Error: Permission denied - /usr/local/include/event2/util.h
so I tried
$ sudo brew link --overwrite libevent
Password:
but I got
Error: Cowardly refusing to `sudo brew link`
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
I'm stuck.
Solution
Mine had the same problem.
$ tmux
dyld: Library not loaded: /usr/local/lib/libevent-2.0.5.dylib
Referenced from: /usr/local/Cellar/tmux/1.9a/bin/tmux
Reason: image not found
Trace/BPT trap: 5
Tried to install libevent
but it was already there, not linked yet:
$ brew install libevent
Warning: libevent-2.0.21 already installed
$ brew link libevent
Warning: Already linked: /usr/local/Cellar/libevent/2.0.21
To relink: brew unlink libevent && brew link libevent
I solved it by doing exactly what was suggested above:
$ brew unlink libevent && brew link libevent
Unlinking /usr/local/Cellar/libevent/2.0.21... 4 links removed
Linking /usr/local/Cellar/libevent/2.0.21... 25 symlinks created
$ tmux -V
tmux 1.9a
OTHER TIPS
brew uninstall --force tmux
brew install tmux
fixed it for me.
I have the same issue with tmuxinator, And get that error in my case I upgraded tmux with:
brew upgrade tmux
My tmux also started shooting this error recently.
In my case simply calling brew upgrade tmux
helped.
The answer was
brew install pkg-config
rm configure
sh autogen.sh
./configure
make
make install
Also see
http://whiletruecode.com/post/installing-iterm2-and-tmux-osx
but do the above instead of the broken link at the last step.
I tried the above steps but those did not work for me though. In my case I just did not have the missing version of libevent. I double, triple checked it but it seems that version isn't served by brew or someway.
What I did have is libevent-2.1.6.dylib. I made a symlink from libevent-2.0.5.dylib to the aforementioned file and tmux seems to work again. Perhaps tmux should be updated?
I got the same issue after updating macOS. To resolve
- if you installed
tmux
from source code, than reinstall again, it will link the new libevent. - if used Homebrew run
brew uninstall --force tmux; brew install tmux
I faced the issue and tried the above-mentioned solutions but it did not work. What I found out was that there was a weird dependency with openssl and since I installed openssl via pip
it was not linked properly to /usr/local/opt and linking via brew was also not working. A simple solution was to uninstall both openssl and libevent via brew and reinstalling them via brew.