运行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。