- Saved searches
- Use saved searches to filter your results more quickly
- [Bug] libcurl-gnutls.so.4: cannot open shared object file #742
- [Bug] libcurl-gnutls.so.4: cannot open shared object file #742
- Comments
- Details
- Libcurl gnutls so 4 linux
- Решаем проблему отсутствия libcurl-gnutls в Fedora
- Краткое описание сути проблемы
- Неправильный способ решения проблемы
- Правильный способ решения проблемы
- Заключение
- 7 commentaries to post
- Разделы сайта
- Свежее на сайте
- How to create lib curl-gnutls.so.4
- 2 Answers 2
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] libcurl-gnutls.so.4: cannot open shared object file #742
[Bug] libcurl-gnutls.so.4: cannot open shared object file #742
Comments
Details
After updating to the latest version of insomnia, I get a blank screen on startup, and the following error message in the DevTools panel:
Uncaught Error: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20) at Object.Module._extensions..node (module.js:598:18) at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:187:18) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at Object. (/tmp/.mount_insomnsplYYw/app/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:40:29) at Object. (/tmp/.mount_insomnsplYYw/app/resources/app.asar/node_modules/insomnia-node-libcurl/lib/Easy.js:280:3)
The text was updated successfully, but these errors were encountered:
Libcurl gnutls so 4 linux
7 янв. 2020 в 23:17
I’m running Slackware Linux, used to play this over a year ago without issues. I just reinstalled the game to see how it’s changed, but nothing launches clicking «Play» in steam.
If i do to the common/HeroSiege/linux directory and launch the game binary directly, all i get is this:
$ ./Hero_Siege ./Hero_Siege: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
$ locate libcurl-gnutls.so.4 /home/jigoku/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libcurl-gnutls.so.4
10 янв. 2020 в 16:28
hey man, you got anywhere yet? It’s been a while since i played hero siege on my linux machine. Tryed today and game starts but freezes as son as PAS logo appears and shutsdown. Not sure if it’s the same issue though.
I’m running fedora 30 lxde. Actually it’s a hanthana os, which is just a fedora 30 fork, so whatever.
Did you get anywhere?
11 янв. 2020 в 3:59
Which got rid of the missing library errors, although, the game just segfaults now;
Steam being initialised with appId 269210 Steam_Init Error: Failed to load libsteam_api.so: libsteam_api.so: cannot open shared object file: No such file or directory Failed LoadSteamLib() call: Error loading libsteam_api.so SteamInit failed: Error loading libsteam_api.so Steam restarting via client Attempting to set gamepadcount to 0 Not shutting down steam as it is not initialised Segmentation fault
Решаем проблему отсутствия libcurl-gnutls в Fedora
Ряд проприетарного ПО требует для запуска и функционирования отсутствующую в дистрибутиве Fedora библиотеку libcurl-gnutls.so.4, поэтому в данном HOWTO мы рассмотрим пути решения этой проблемы.
Краткое описание сути проблемы
Вся проблема заключается в том, что в Debian и Ubuntu пакет libcurl собирают с gnutls, а не OpenSSL и называют libcurl-gnutls. Во всех остальных дистрибутивах он имеет стандартное название — libcurl. Многие разработчики проприетарного программного обеспечения считают Ubuntu «линуксом по умолчанию» и поэтому линкуют свои приложения динамически именно с libcurl-gnutls. Из-за это возникает проблема при запуске бинарника на всех остальных дистрибутивах — он не может найти данную библиотеку и сразу падает.
Неправильный способ решения проблемы
Большинство разработчиков предлагают в качестве решения данной проблемы просто создавать симлинк:
ln -s /usr/lib64/libcurl.so.4.4.0 /usr/lib64/libcurl-gnutls.so.4
Однако это в корне неверно, т.к. порождает в системном каталоге с общими динамическими библиотеками не отслеживаемую менеджером пакетом ссылку, что может привести к проблемам при обновлениях дистрибутива и работы системы.
Правильный способ решения проблемы
В пакетных дистрибутивах все файлы должны быть установлены исключительно посредством пакетного менеджера, поэтому мы должны создать и установить простой пакет, содержащий данную символическую ссылку.
Для начала установим необходимый для сборки пакетов набор:
sudo dnf install rpm-build git
git clone https://github.com/EasyCoding/compat-libcurl-gnutls.git
cd compat-libcurl-gnutls rpmbuild -bb compat-libcurl-gnutls.spec
В случае успеха в каталоге ~/rpmbuild/RPMS/i686/ (на 32-битных системах) или ~/rpmbuild/RPMS/x86_64/ (на 64-битных) мы получим собранный RPM пакет. Установим его в систему:
sudo dnf install ~/rpmbuild/RPMS/$(uname -m)/compat-libcurl-gnutls-*.rpm
Заключение
Если вы разработчик проприетарного программного обеспечения и не можете из-за лицензий линковаться статически со всеми используемыми в вашем продукте библиотеками, то рассмотрите возможность создания и использования самодостаточных пакетов Flatpak, где данная проблема полностью решена: все необходимые приложению библиотеки, отсутствующие в виде Flatpak рантаймов, включаются внутрь пакета и подгружаются по мере необходимости.
7 commentaries to post
Сделал все, как описано в статье, в результате появилась ссылка /usr/lib64/libcurl-gnutls[.]so.4 -> /usr/lib64/libcurl[.]so.4.4.0
Но при попытке обновить gitkraken через dnf все равно ошибка Problem: cannot install the best update candidate for package gitkraken-3.2.1-1[.]fc27.x86_64
— nothing provides libcurl-gnutls[.]so.4()(64bit) needed by gitkraken-3.6.0-1[.]fc27.x86_64
Как сделать так, чтобы система увидела эту библиотеку?
Sup bros. Brazilian dev here. Gitkraken still not working for me. @ASHNIKEL, did your gitkraken happens to show the «famous» white screen? Here the libcurl-gnutls itself installed with success, resulting on gitkraken to also install with success. But gitkraken stills crashing with that whitescreen.
Установил в Fedora 30. Для запуска ONLYOFFICE Desktopeditors не хватало этого пакета. Неправильный способ не помог, а Правильный — помог. Офисный пакет запускается. Большое спасибо!
Разделы сайта
Свежее на сайте
How to create lib curl-gnutls.so.4
So, I’m an idiot, and I accidentally deleted the file libcurl-gnutls.so.4 on my Ubuntu system. Now I can’t figure out how to recreate it. The actual error I’m getting is when I’m trying to use git:
git-remote-https: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
And it’s right! That file doesn’t exist. But I don’t know how to create it. I’ve tried using apt-get to install libcurl-gnutls, and while it says that it succeeds, it doesn’t create the library. I also downloaded curl and built/installed it, but that also didn’t create the library I need. Any ideas on how I can fix this? Thank you so much for any help.
2 Answers 2
I think, it is libcurl3-gnutls — Give it a try — sudo apt-get install libcurl3-gnutls .
This is how I figured it out, hoping this may help others:
Step1: Looked for the libcurl-gnutls.so.4 on my machine(Ubuntu 16.04).
ravitezu@Neutron:~$ locate libcurl-gnutls.so.4 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0
Step2: Check which package provides this file, when installed.
ravitezu@Neutron:~$ dpkg -S /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 libcurl3-gnutls:amd64: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
So, it gave me the package name libcurl3-gnutls which provides that file.
Here are the files, which will be deployed when you install libcurl3-gnutls:
ravitezu@Neutron:~$ dpkg -c libcurl3-gnutls_7.47.0-1ubuntu2_amd64.deb drwxr-xr-x root/root 0 2016-02-18 13:48 ./ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/lib/ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/ -rw-r--r-- root/root 444800 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0 drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/share/ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/share/lintian/ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/share/lintian/overrides/ -rw-r--r-- root/root 67 2016-01-27 17:17 ./usr/share/lintian/overrides/libcurl3-gnutls drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/share/doc/ drwxr-xr-x root/root 0 2016-02-18 13:48 ./usr/share/doc/libcurl3-gnutls/ -rw-r--r-- root/root 10954 2016-01-27 17:17 ./usr/share/doc/libcurl3-gnutls/copyright -rw-r--r-- root/root 1019 2016-02-18 13:48 ./usr/share/doc/libcurl3-gnutls/changelog.Debian.gz -rw-r--r-- root/root 590 2016-01-27 17:17 ./usr/share/doc/libcurl3-gnutls/NEWS.Debian.gz lrwxrwxrwx root/root 0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.4.0 lrwxrwxrwx root/root 0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4