2011-02-17 16 views
38

जब मेरे एप्लिकेशन रन (या जब मैं कमांडलाइन से चलाने) 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 सर्वर

उत्तर

98

यूनिक्स पैकेज X11-libs/libXext और X11-libs पर चल रहा है की निर्भरता जाँच/libXrender निर्भरता

हैं

Gentoo:

sudo emerge libXext libXrender 

पीडीएफकिट विकी भी विस्तार से बताता है कि इंजन यार्ड पर काम करने वाले wkhtmltopdf कैसे प्राप्त करें। PDFkit wiki

डेबियन या उबंटू:

sudo apt-get install libxrender1 

आशा इस मदद करता है

+0

यह मदद पता करने के लिए करता है कि दूसरों को समस्या आ रही है ... मेरा 32 बिट उदाहरणों पर काम करता है, लेकिन यह एक 64 बिट मशीन और मैं पर विफल रहता है टी लगता है कि उनके पास एक ही समस्या है। – Ben

+0

हाय बेन, मैं बस अपना जवाब संपादित किया है PDFkit विकि के लिए एक लिंक है, जो –

+0

मदद कर सकता है कि पोस्ट किया था निर्देश शामिल करने के लिए है, लेकिन मैंने देखा कि यह i386 संस्करण को संदर्भित किया गया था तो मैं amd64 संदर्भित करने के लिए बदल गया और यह काम किया है ... इसलिए मैंने 64 बिट उदाहरण के लिए निर्देशों को शामिल करने के लिए विकी को अद्यतन किया। – Ben

3

मैं ठीक उसी समस्या हो रही थी! मेरे लिए समाधान, wkhtmltoimage के 64 बिट संस्करण को स्थापित करना था।

29

मेरे पास डेबियन निचोड़, amd64 पर समस्या थी। Libxrender1 को स्थापित करने से मेरे लिए समस्या हल हो गई।

sudo apt-get install libfontconfig1 
+7

यह, स्वीकार किए जाते हैं जवाब होना चाहिए, क्योंकि यह वास्तव में काम करता है। – Jordan

22

मैं भी जरूरत के बाद करते हैं।

yum install libXrender libXext fontconfig 
+3

यह काफी मददगार था! libxrender1 के अलावा, libfontconfig1 की जरूरत थी। इसलिए इस सवाल का जवाब। – hade

+0

यह काफी मददगार था, वास्तव में – Francisco

+0

इस के लिए धन्यवाद, मैं हो गया होता देख हमेशा के लिए –

5

wkhtmltopdf की static version चला रहे RHEL7 मशीन पर यह आज में Ran:

sudo apt-get install libxrender1 
+0

यह करने के बाद मैंने टेक्स्ट के बजाय ब्लैक बॉक्स दिखाए। मुझे टेक्स्ट काम करने के लिए इन दो पैकेजों को स्थापित करना पड़ा: 'xorg-x11-font-utils' और' xorg-x11-fonts-type1' – Efekan

0

नोट एक UPX संकुचित प्रारूप में वितरित wkhtmltopdf की एक निष्पादन योग्य संस्करण है कि वहाँ, ldd और फ़ाइल दोनों रिपोर्ट करेंगे इस फाइल को स्थिर से जुड़ा हुआ है कि भले ही पेलोड साझा पुस्तकालयों की आवश्यकता है: समाधान में कुछ निर्भरता स्थापित करने के लिए था ।

तार की कोशिश की जाँच करने के | fgrep UPX

यदि आप कोई भी "यूपीएक्स" आईडी स्ट्रिंग देखते हैं तो अपक्स इंस्टॉल करें और फ़ाइल की प्रतिलिपि पर "अपक्स-डी" का उपयोग करें (जैसे अपक्स काम करता है) और फिर असंपीड़ित फ़ाइल पर ldd चलाएं।

sudo apt-get install libxrender1:i386 
4

आपके सिस्टम 64 बिट्स है, और अपने सॉफ्टवेयर 32 बिट libs की आवश्यकता है, तो आप फ़्लैग "i386" जोड़ने के लिए,

ubuntu पर उदाहरण के लिए

की जरूरत एक ताजा डोकर स्थापित):

apt install -y libxrender1 libxext6

2

उबंटू 16 के साथ (से:

संबंधित मुद्दे