运行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)
这在一个EngineYard gentoo服务器上运行
Unix软件包x11-libs / libXext和x11-libs / libXrender是依赖项
Gentoo的:
sudo emerge libXext libXrender
PDFkit维基还详细解释了如何让wkhtmltopdf在发动机工作场所工作。 PDFkit维基
Debian或Ubuntu:
sudo apt-get install libxrender1
希望这可以帮助
我在Debian Squeeze上遇到了同样的问题,amd64。 安装libxrender1解决了我的问题。
sudo apt-get install libxrender1
之后我也需要做:
sudo apt-get install libfontconfig1
今天在RHEL7机器上运行wkhtmltopdf的静态版本 。 解决scheme是安装一些依赖项:
yum install libXrender libXext fontconfig
我遇到了完全相同的问题! 对我来说,解决scheme是安装wkhtmltoimage的64位版本。
如果你的系统是64位的,而你的软件需要32位库,你需要添加标志“i386”,
例如在Ubuntu上:
sudo apt-get install libxrender1:i386
随着Ubuntu 16(从新的Docker安装):
apt install -y libxrender1 libxext6
请注意,有一个以UPX压缩格式分发的wkhtmltopdf的可执行版本,即使有效负载需要共享库,ldd和file都会报告此文件是静态链接的。
要检查尝试
string| fgrep UPX
如果您看到任何“UPX”idstring,请安装upx并在文件的副本上使用“upx -d”(因为upx正常工作),然后在解压缩的文件上运行ldd。