Ошибка при запуске wkhtmltopdf - (ошибка при загрузке общих библиотек) - PullRequest
47 голосов
/ 18 февраля 2011

Когда мое приложение запускается (или когда я запускаю из командной строки) команду 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

Ответы [ 9 ]

116 голосов
/ 18 февраля 2011

Unix пакеты x11-libs / libXext и x11-libs / libXrender являются зависимостями

Gentoo:

sudo emerge libXext libXrender

PDFkit wiki также более подробно объясняет, как заставить wkhtmltopdf работать на движке машин. PDFkit wiki

Debian или Ubuntu:

sudo apt-get install libxrender1

Надеюсь, это поможет

31 голосов
/ 06 июня 2012

У меня была такая же проблема с Debian Squeeze, amd64.Установка libxrender1 решила проблему для меня.

sudo apt-get install libxrender1
29 голосов
/ 09 января 2014

Мне нужно сделать также после:

sudo apt-get install libfontconfig1
8 голосов
/ 22 марта 2016

Сегодня столкнулся с этим на машине RHEL7, работающей в статической версии wkhtmltopdfРешением было установить несколько зависимостей:

yum install libXrender libXext fontconfig 
5 голосов
/ 02 августа 2016

Если ваша система 64-битная, а вашему программному обеспечению требуются 32-битные библиотеки, вам нужно добавить флаг "i386",

например в Ubuntu:

sudo apt-get install libxrender1:i386
4 голосов
/ 30 декабря 2011

У меня была точно такая же проблема!Для меня решением было установить 64-битную версию wkhtmltoimage.

3 голосов
/ 19 августа 2016

С Ubuntu 16 (из новой установки Docker):

apt install -y libxrender1 libxext6

1 голос
/ 14 июня 2018

sudo apt-get install xvfb

для установки пакета зависимостей.

Обновление узловых модулей wkhtmltopdf index.js

wkhtmltopdf.command = 'wkhtmltopdf';to 'wkhtmltopdf.command =' xvfb-run wkhtmltopdf ';'

0 голосов
/ 03 июня 2016

Обратите внимание, что существует исполняемая версия wkhtmltopdf, распространяемая в сжатом формате UPX, ldd и file сообщат, что этот файл статически связан, даже если для полезной нагрузки требуются разделяемые библиотеки.*

строки |fgrep UPX

Если вы видите какие-либо строки идентификатора «UPX», установите upx и используйте «upx -d» для копии файла (как работает upx), а затем запустите ldd для несжатого файла.

...