watchman: Watchman error on Ubuntu 22.04
Command watchman -v
(and any other commands) fails after binaries installation (Linux installation guide) with error:
watchman: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
I fixed this error with the solution of smmoosavi here but another error appears:
terminate called after throwing an instance of 'std::system_error'
terminate called recursively
Aborted (core dumped)
Any ideas how to fix it? I tried different version of binaries but the result is the same…
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 11
- Comments: 27 (5 by maintainers)
Commits related to this issue
- add a Vagrant VM for Ubuntu 22 Summary: bento/ubuntu-22.04 has been released, so add it to the Watchman Vagrantfile. I've confirmed Watchman builds and passes tests, and also confirmed the issues in... — committed to facebook/watchman by chadaustin 2 years ago
- Work around a crash with recent libgcc See: https://github.com/facebook/watchman/issues/1019 — committed to archlinux/aur by heftig 2 years ago
- Update Dockerfile Fixed re this https://github.com/facebook/watchman/issues/1019 ``` > [ 8/11] RUN watchman watch /in: ... — committed to p4yl0ad/ADEEA by p4yl0ad 8 months ago
That works for me on ubuntu 22.04.1
first of all, you need to remove all watchman files that you have installed manualy
Removing files
removing bin files
removing lib files
Installing watchman again
just install by using apt
I hope I was helpfull
Currently, I solved it by manually installing the missing
libcrypto.so.1.1
lib fromlibssl1.1
package. You can find it from http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ or https://packages.debian.org/stretch/libssl1.1. Mine was using http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb.Reference: https://askubuntu.com/questions/1403778/upgrading-to-ubuntu-22-04-causes-libcrypto-errors-apt-dpkg-broken
Homebrew works for me.
First I did this from above:
And then, installed Homebrew and run
brew install watchman
And now:
The weekly release process for Watchman now generates Ubuntu 22.04 (and 20.04 and 18.04) debs.
See the new installation instructions at https://facebook.github.io/watchman/docs/install.html
I’m going to close this issue, but please file a new one if the Ubuntu 22 package does not work for you.
It seems the latter is caused by changes to libgcc which made unwinding use glibc’s
_dl_find_object
when available, as reverting these changes makes watchman behave properly again.bento/ubuntu2204 Vagrant box is available. I’ve confirmed that Watchman builds and passes tests on Ubuntu 22. The issue appears to be that the precompiled binaries created on GitHub Actions don’t run.
The libcrypto dependency causing issues on newer Ubuntu seems widespread:
https://github.com/hrkfdn/ncspot/issues/812 https://askubuntu.com/questions/1403778/upgrading-to-ubuntu-22-04-causes-libcrypto-errors-apt-dpkg-broken
In my VM I ran:
And then reproduced the exception handling crash:
Sigh. This is awesome all around. I suppose one option is to ask you all to build and install from source locally (which works). Another would be to wait for the ubuntu-latest GitHub Actions image to use Ubuntu 22.
We could statically link OpenSSL but that’s a bad idea too.
We don’t have time to maintain a PPA, but that would be an obvious solution too.
Thanks for all of the investigation, folks, and let me know if you have better ideas.
terminate called after throwing an instance of ‘std::system_error’ terminate called recursively [1] 95316 IOT instruction (core dumped) watchman
Is there any workaround?
Has your workaround been applied yet? 2022.06.06 is still affected by this bug.
I’m looking forward to when the generic/ubuntu2204 Vagrant box is ready so we can add it to our Vagrant-based build “CI”.
From reading this thread, I don’t have a clue yet either, but I’ll try to find time to chime in soon.
I believe one of the issues is a gcc bug introduced in 11.2: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008
We have a workaround coming in Folly, and gcc 12 and gcc 11.3 should have the fix. The other issues I’ll try to get time to look at later.
I fixed that on my local with the following:
I found the issue at: https://askubuntu.com/questions/1403778/upgrading-to-ubuntu-22-04-causes-libcrypto-errors-apt-dpkg-broken
It’s a guess, but one of the big ubuntu 22 changes was an update to openssl 3.x (it require prisma changes for example) which might also be hitting watchman