Ошибка при запуске wkhtmltopdf - (ошибка при загрузке разделяемых библиотек)
Когда мое приложение запускается (или когда я запускаю из командной строки) команду wkhtmltopdf, я получаю следующую ошибку: (показывая ее из командной строки)
#> wkhtmltopdf
wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
Я заметил, что lib действительно находится в папке /usr/lib
, но не в папке /lib
. Имеет ли значение, в какой из них он находится? Есть ли способ заставить его распознать его?
#> ls -l /usr/lib/libXrender.so*
lrwxrwxrwx 1 root root 19 Feb 17 07:20 /usr/lib/libXrender.so -> libXrender.so.1.3.0
lrwxrwxrwx 1 root root 19 Feb 17 07:20 /usr/lib/libXrender.so.1 -> libXrender.so.1.3.0
-rwxr-xr-x 1 root root 39184 Jan 29 2010 /usr/lib/libXrender.so.1.3.0
#> ls -l /lib/libXrender.so*
ls: cannot access /lib/libXrender.so*: No such file or directory
Я также проверял зависимости lib
# ldd /usr/lib/libXrender.so.1
libX11.so.6 => /usr/lib/libX11.so.6 (0x00002b9cb5afd000)
libc.so.6 => /lib/libc.so.6 (0x00002b9cb5e04000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00002b9cb6143000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00002b9cb6347000)
libdl.so.2 => /lib/libdl.so.2 (0x00002b9cb654d000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
Это выполняется на сервере gentoo EngineYard
Ответы
Ответ 1
Unix-пакеты x11-libs/libXext и x11-libs/libXrender - это зависимости
Gentoo:
sudo emerge libXext libXrender
PDFkit wiki также более подробно объясняет, как получить wkhtmltopdf, работающий на дворе двигателя. PDFkit wiki
Debian или Ubuntu:
sudo apt-get install libxrender1
Надеюсь, что это поможет
Ответ 2
У меня было то же самое, проблема с Debian Squeeze, amd64. Установка libxrender1 решила проблему для меня.
sudo apt-get install libxrender1
Ответ 3
Мне нужно также делать следующее:
sudo apt-get install libfontconfig1
Ответ 4
Начнем с сегодняшнего дня на машине RHEL7, на которой запущена статическая версия wkhtmltopdf. Решение заключалось в установке нескольких зависимостей:
yum install libXrender libXext fontconfig
Ответ 5
У меня была такая же проблема! Для меня было решение установить 64-битную версию wkhtmltoimage.
Ответ 6
Если ваша система имеет 64 бита, а вашему программному обеспечению требуется 32 бита lib, вам нужно добавить флаг "i386",
например, на ubuntu:
sudo apt-get install libxrender1:i386
Ответ 7
С Ubuntu 16 (от новой установки Docker):
apt install -y libxrender1 libxext6
Ответ 8
Обратите внимание, что существует исполняемая версия wkhtmltopdf, распределенная в сжатом формате UPX, ldd и файл сообщают, что этот файл статически связан, хотя для полезной нагрузки требуются общие библиотеки.
Чтобы проверить попытку
строки | fgrep UPX
Если вы видите строки идентификатора "UPX", установите upx и используйте "upx -d" на копии файла (как работает upx), а затем запустите ldd в несжатом файле.