- Native library not loaded on Linux #3
- Comments
- wmeints commented Jul 28, 2017
- rdvojmoc commented Jul 28, 2017
- rdvojmoc commented Jul 28, 2017
- wmeints commented Jul 29, 2017
- rdvojmoc commented Jul 29, 2017
- Ahmed-Raouf commented Jul 30, 2017
- rdvojmoc commented Jul 30, 2017
- Ahmed-Raouf commented Jul 31, 2017
- rdvojmoc commented Jul 31, 2017 •
- wmeints commented Aug 3, 2017
- miguelalvarezi commented Apr 26, 2018
- fernandovictorTI commented May 11, 2018
- miguelalvarezi commented May 11, 2018
- fernandovictorTI commented May 15, 2018
- miguelalvarezi commented May 15, 2018 •
- fernandovictorTI commented May 15, 2018
- fernandovictorTI commented May 15, 2018
- miguelalvarezi commented May 15, 2018
- fernandovictorTI commented May 15, 2018
- DmitriyZaporozhets commented May 24, 2018 •
- miguelalvarezi commented May 24, 2018 •
- DmitriyZaporozhets commented May 24, 2018
- miguelalvarezi commented May 24, 2018
- DmitriyZaporozhets commented Jun 29, 2018
- amilathennakoon commented Oct 9, 2018
- z-tc commented Oct 22, 2018 •
- Broken dependencies in installed files #478
- Comments
- duro80 commented Sep 20, 2016 •
- xor-gate commented Sep 20, 2016
- xor-gate commented Sep 20, 2016 •
- duro80 commented Sep 20, 2016 •
- xor-gate commented Sep 20, 2016 •
- xor-gate commented Sep 20, 2016
- duro80 commented Sep 20, 2016
- xor-gate commented Sep 20, 2016
- jerrrwalker commented Oct 3, 2016
- gvz commented Oct 17, 2016
- xor-gate commented Oct 29, 2016
- IdeoG commented Jun 15, 2017 •
- dymbasss commented Apr 12, 2018 •
- Slavjan commented Apr 28, 2018
- Slavjan commented Apr 28, 2018
- jiapei100 commented May 19, 2018
- nrjn commented May 28, 2018
- eritain commented Aug 5, 2019
- zainabz1995 commented Feb 28, 2020
- Basilisvirus commented Mar 13, 2020 •
- ошибка при загрузке общих библиотек: libcrypto.so.1.1
Native library not loaded on Linux #3
Comments
wmeints commented Jul 28, 2017
Hi I’m having some serious issues with this package.
I added the package to my project and copied the native .so file to the root of my ASP.NET Core project. Now when I start the application and try to convert HTML to PDF I get the following error:
I’ve tried setting up LD_LIBRARY_PATH to my app folder. I even copied the .so file to /usr/lib but it doesn’t work at all.
Any ideas what to do here?
The text was updated successfully, but these errors were encountered:
rdvojmoc commented Jul 28, 2017
I tried to run example DinkToPdf.TestConsoleApp on Ubuntu 16.04 LTS without problems.
Make sure that libwkhtmltox.so is placed in root folder (where your main project .dll is) of your project and is named correctly (libwkhtmltox).
rdvojmoc commented Jul 28, 2017
wmeints commented Jul 29, 2017
I have tried it again. I should add that I am trying it on the microsoft/dotnet:1.1.2-runtime image. So that might complicate things also. Have you tried using the library in that way?
rdvojmoc commented Jul 29, 2017
Is it possible to share your image? I never tested it in that way, but will happily take a look into it.
Ahmed-Raouf commented Jul 30, 2017
Try to add the files:
libwkhtmltox.dll
libwkhtmltox.dylib
libwkhtmltox.so
on the root folder.
rdvojmoc commented Jul 30, 2017
If you are running on Linux copying libwkhtmltox.so is enough.
Ahmed-Raouf commented Jul 31, 2017
I deployed my application on Linux and it works. But I installed libgdiplus as I needed it in Captcha component which I use in my application. I don’t know if wkhtmltopdf depends on it or not.
Try to install it. Hope this fix your problem.
sudo apt-get install libgdiplus
rdvojmoc commented Jul 31, 2017 •
After install of libgdiplus in microsoft/dotnet:1.1.2-runtime image libwkhtmltox library is found.
Thanks @Ahmed-Raouf for pointing this out.
wmeints commented Aug 3, 2017
I added libgdiplus to the image and it works! Thanks for the help 🙂
miguelalvarezi commented Apr 26, 2018
In case someone else runs into this problem when running tests (inside a Docker container or in a Linux host), adding libgdiplus to the image didn’t do the trick for me.
I checked libwkhtmltox.so with ldd and libgdiplus is not found as a dependency:
What worked for me, for running tests, was to copy libwkhtmltox.so to /usr/lib directory.
fernandovictorTI commented May 11, 2018
Hi @miguelalvarezi
How do I copy libwkhtmltox.so to /usr/lib in DockerFile?
miguelalvarezi commented May 11, 2018
Hi @fernandovictorTI, here’s the RUN command I used:
Results may vary depending on the source image you’re using. In my case I’m using microsoft/dotnet:2.0-sdk-stretch .
fernandovictorTI commented May 15, 2018
Hi @miguelalvarezi,
I´m using microsoft/aspnetcore-build:2.0.
I turned his command on, but continued with error.
It was to have the packages that I had installed?
miguelalvarezi commented May 15, 2018 •
@fernandovictorTI, if you can share your Dockerfile I can review it and maybe give you some guidance.
fernandovictorTI commented May 15, 2018
fernandovictorTI commented May 15, 2018
Still giving the error.
<
«error»: <
«message»: «Unable to load DLL ‘libwkhtmltox’: The specified module or one of its dependencies could not be found. \ n (Exception from HRESULT: 0x8007007E)»,
«exception»: «DllNotFoundException»
>
>
miguelalvarezi commented May 15, 2018
@fernandovictorTI, I believe the problem is that the second stage of your build ( runtime ) is not running the below command again, so libwkhtmltox and it’s dependencies are left in the first stage ( build ).
fernandovictorTI commented May 15, 2018
After 4 days it worked.
Thank you
DmitriyZaporozhets commented May 24, 2018 •
Guys, I faced with the same issue. Can’t load library on Linux docker image.
I’ve an .Net Core 2.0 API project and I add a docker support via Visual Studio. Then, I added libwkhtmltox library and it’s dependencies to the image.
Currently, my dockerfile looks like
I placed the library files to /app/wkhtmltox folder. Also, thanks to #5 I can run the project from Visual Studio on Windows.
But, docker fails. I tried to use /app/wkhtmltox/libwkhtmltox path and also tried /usr/lib/libwkhtmltox and I still get the error » System.DllNotFoundException: Unable to load DLL ‘/app/wkhtmltox/libwkhtmltox’: The specified module or one of its dependencies could not be found.»
Could you please help to figure out with that?
Thanks.
miguelalvarezi commented May 24, 2018 •
@DmitriyZaporozhets, conceptually the same problem @fernandovictorTI had, each new build stage can only get artifacts from the previous stages. More information here.
You should put the RUN step which installs libwkhtmltox and it’s dependencies in each build stage that will need it. In your case I’d guess it would only be the last one, final .
DmitriyZaporozhets commented May 24, 2018
@miguelalvarezi
Thank you for your response.
Actually, installing dependencies only in the final was my first idea. And unfortunately it does not work for me.
As I understand, you mean this one should work. I provide only last, final image
The application tries to load the library from ‘/app/wkhtmltox/libwkhtmltox’, but fails.
miguelalvarezi commented May 24, 2018
@DmitriyZaporozhets, the library is being downloaded by curl to /usr/lib/libwkhtmltox.so , so the application will never find it in /app/wkhtmltox/libwkhtmltox
DmitriyZaporozhets commented Jun 29, 2018
@miguelalvarezi
Thank you for your help, I just forgot to answer that it is ok and it works.
Currently, requirenmets for pdf files were changed (need to support different headers for pages) and now I use .net core node services and nodejs html-pdf utility. I was wonder how fast it works.
amilathennakoon commented Oct 9, 2018
@fernandovictorTI, I believe the problem is that the second stage of your build ( runtime ) is not running the below command again, so libwkhtmltox and it’s dependencies are left in the first stage ( build ).
this helped to me
z-tc commented Oct 22, 2018 •
And how do you using it in the code? I am running .NET Core 2.0 and i registered converter as:
services.AddSingleton(typeof(IConverter), new SynchronizedConverter(new PdfTools()));
and i am using it as _converter.Convert(MyDoc), injected as IConverter from constructor.
I tried to install all the suggestions from your comments, still unable to load dll in docker container.
This actually works, so just use this way instead registering and adding DLL manually, as i tried before this post. Hope this helps someone.
Источник
Broken dependencies in installed files #478
Comments
duro80 commented Sep 20, 2016 •
|
The problem is from commit b5bbf3d until last commit.
I build st-link programs from source. Everythink is OK. After installing «sudo make install», I ran the program «st-info» (or other st-xxxx program) and this is output:
I try the installation procedure on 3 different PC, same result.
The text was updated successfully, but these errors were encountered:
xor-gate commented Sep 20, 2016
Could you run ldd /usr/local/bin/st-info ? probably the references to the shared library are not good. I see st-info is looking for libstlink.so.1 is it installed under /usr/local/lib ? Maybe ld-config needs to be run before it is found.
xor-gate commented Sep 20, 2016 •
It works for me (commit g7b358fe):
make install to custom destination dir:
dynamic linker (ldd) is unable to find the library:
exporting a custom library path:
running st-info —version
duro80 commented Sep 20, 2016 •
Output from ldd /usr/local/st-info:
linux-vdso.so.1 => (0x00007ffd4e7f0000)
libstlink.so.1 => not found
.
After this, everythink works fine.
but I think, this is hack. It can be in installation script or in linker settings.
xor-gate commented Sep 20, 2016 •
This is not a hack, because package maintainers always run ld-config after a library is installed. Then the library is added to the cache: /etc/ld.so.cache . You must make sure /usr/local/lib is added to the ld.so.conf search paths. On debian 8 it is configured here:
You should read the man-page of ld-config and ldd to understand how executables are dynamically linked.
This is different from Mac OS X, Windows, *BSD so it won’t be added.
xor-gate commented Sep 20, 2016
duro80 commented Sep 20, 2016
Thank You for explanation.
xor-gate commented Sep 20, 2016
I really appreciate your feedback, I will update the documentation accordingly before the release.
jerrrwalker commented Oct 3, 2016
in ubuntu-14.04 ldconfig (not ld-config) works ok.
thank you, xor-gate
gvz commented Oct 17, 2016
in Fedora 24 it is also ldconfig.
Before: same Problem as in original post.
After: works fine
xor-gate commented Oct 29, 2016
Thanks for reporting ! I have added it to the documentation now.
IdeoG commented Jun 15, 2017 •
Hi,
Got the same problem under Ubuntu 16.04. ldconfig helped me.
Thanks
dymbasss commented Apr 12, 2018 •
What the problem. Ubuntu 16.04.
Solution was:
libstlink.so.1 was in /usr/local/lib/lib, you ask: «LOL what. «. It was a step-by-step installation by example -> https://github.com/texane/stlink/blob/master/doc/compiling.md
Extracted from lib/lib in lib and everything is fine.
Slavjan commented Apr 28, 2018
this may be fixed via sudo ldconfig
Slavjan commented Apr 28, 2018
$ ldd /usr/local/bin/st-util
linux-vdso.so.1 => (0x00007ffe6bad0000)
libstlink.so.1 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5ec53f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5ec57ba000)
$ ldd /usr/local/bin/st-util
linux-vdso.so.1 => (0x00007ffe6cec3000)
libstlink.so.1 => /usr/local/lib/libstlink.so.1 (0x00007f54cfc69000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f54cf89f000)
libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f54cf687000)
/lib64/ld-linux-x86-64.so.2 (0x00007f54cfe7d000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f54d0060000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f54cf46a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f54cf262000)
$ st-util
st-util 1.4.0-35-gb1b2a2f
2018-04-29T00:27:52 WARN usb.c: Couldn’t find any ST-Link/V2 devices
jiapei100 commented May 19, 2018
sudo ldconfig solves the problem for me.
nrjn commented May 28, 2018
Solved the issue for me
eritain commented Aug 5, 2019
Experience report: The ldconfig fix works if you’re installing system-wide. If you install to a user dir, neither ldconfig nor exporting the custom LD_LIBRARY_PATH fixes the problem.
zainabz1995 commented Feb 28, 2020
linux-vdso.so.1 => (0x00007ffd4e7f0000)
libstlink.so.1 => not found
.
After this, everythink works fine.
but I think, this is hack. It can be in installation script or in linker settings.
Yes. Your hack was correct in addition to the solution provided by @xor-gate
Basilisvirus commented Mar 13, 2020 •
Hello. sudo ldconfig does not work for me.
i get:
ldd: /usr/local/bin/st-info: No such file or directory
in my /usr/local/lib there is nothing installed (only python 3.6 folder)
i run sudo ldconfig ( sudo ld-config does not work, and without sudo it will give me Permission denied)
But still when i say st-info —version , i will get st-info: error while loading shared libraries: libstlink.so.1: cannot open shared object file: No such file or directory
@xor-gate should i run make install DESTDIR=_install as you suggested above ? but i have already installed the release. Should i reinstall it?
also @duro80 said export LD_LIBRARY_PATH=/usr/local/lib worked. I run this command, still get the same error. I think i should run this command (export LD_LIBRARY_PATH. ) it from a specific directory though
Источник
ошибка при загрузке общих библиотек: libcrypto.so.1.1
Когда я запускаю «openssl», я получаю сообщение об ошибке, как показано ниже:
openssl: ошибка при загрузке общих библиотек: libcrypto.so.1.1: невозможно открыть файл общих объектов: нет такого файла или каталога «
Это произошло после того, как я попытался обновить OpenSSL в соответствии с этой статьей
Есть ли способ исправить это?
ОС: CentOS 6.8 Веб-сервер: nginx / 1.10.2
Обновление № 1:
У меня была такая же проблема , после установки последней версии OpenSSL 1.1.0c, я решил проблему копирования библиотечных файлов libcrypto.so.1.1 , libcrypto.a и libssl.so из /usr/local/lib64 библиотеке акций на /usr/lib64 .
После копирования библиотек необходимо создать символическую ссылку.
С вашей оригинальной версией OpenSSL он знал, как найти общие библиотеки, потому что /usr/lib64 включен в путь поиска компоновщика. Когда вы загрузили и скомпилировали «локальную» копию OpenSSL, общие библиотеки были размещены /usr/local/lib64 по умолчанию. Поэтому вам, вероятно, просто нужно добавить этот каталог в путь поиска компоновщика, например, как (root):
Я верю, что это решит вашу проблему.
Я получил эту ошибку, используя Termux на ChromeOS, что привело к аварийному завершению работы программ npm и node командной строки.
Запуск pkg upgrade исправил проблему!
Вы можете переустановить его, используя
yum install -y openssl-devel
То, что сказал @benedict, сработало для меня. Однако вы можете обнаружить, что некоторые символические ссылки указывают на более старые версии. Запуск ls -l libcrypto* из / usr / libs покажет вам ссылки. Как в приведенном ниже примере:
Затем вы захотите сначала удалить существующую ссылку, набрав, sudo rm libcrypto.so а затем скопировав libcrypto.so.1.1, как упомянуто @benedict. Наконец, вы можете создать новую ссылку. sudo ln -s libcrypto.so.1.1 libcrypto.so
Надеюсь это поможет.
libcrypto.so Принадлежит openssl-libs пакет. Если вы вручную принудительно удалили (используя —nodeps ) этот пакет или повредили его, обновив его, вы потеряете доступ к yum, wget, curl, ssh и т. Д. Если у системы есть доступ к Интернету, загрузите с openssl-libs помощью команды /usr/bin/GET . Синтаксис будет выглядеть следующим образом, если вы пытаетесь восстановить версию openssl-libs-1.0.2k-8.el7.x86_64 :
Это создаст openssl-libs-1.0.2k-8.el7.x86_64.rpm пакет для вас, вы можете использовать его для переустановки или извлечения отсутствующего .so файла.
Источник