Sim, indiretamente por meio de bibliotecas incorporadas.
As informações abaixo sugerem que a biblioteca QT está estaticamente incorporada no binário. Executar o binário com strace
, revela que ele realmente tenta carregar bibliotecas Xorg porque elas não estão vinculadas estaticamente nas bibliotecas QT. Em outras palavras, algumas das bibliotecas vinculadas estaticamente (mais provavelmente QT) possuem dependências próprias. Pelo menos é o que penso.
wkhhtmltopdf wiki - compilação:
Antes de compilar o wkhtmltopdf você precisa ter o QT instalado, novamente você tem duas opções: Você pode instalar o QT da sua distribuição, isto será rápido, mas o seu wkhtmltopdf build não terá todos os recursos do build estático, ou você pode compilar seu próprio QT, isso leva muito tempo, mas você obterá todos os recursos.
wkhtmltopdf wiki - static (faq):
- Estou usando o binário estático, mas as fontes estão erradas, quadradas ou pretas?
Isso é mais provável porque você não tem o X11 instalado ou não as fontes X11 certas
O QtGui depende do Xorg & Co:
# qlist qtgui |grep lib.*\.so | awk -F/ '{print $NF}' |column libqtiff.so libQtScriptTools.so.4 libqjpeg.so libQtDesignerComponents.so.4.8 libqico.so libQtGui.so libqgif.so libQtScriptTools.so libqimsw-multi.so libQtGui.so.4 libqtaccessiblewidgets.so libQtDesigner.so libQtDesigner.so.4.8.4 libQtDesignerComponents.so.4 libQtGui.so.4.8.4 libQtGui.so.4.8 libQtDesigner.so.4 libQtDesigner.so.4.8 libQtScriptTools.so.4.8.4 libQtScriptTools.so.4.8 libQtDesignerComponents.so.4.8.4 libQtDesignerComponents.so (>>> depend on) # qlist qtgui |grep lib.*\.so |xargs -L1 ldd | awk '{print $1}'| sort -u|column libbz2.so.1 libpthread.so.0 libxcb.so.1 libc.so.6 libQtCore.so.4 libXcursor.so.1 libdl.so.2 libQtDesigner.so.4 libXdmcp.so.6 libexpat.so.1 libQtGui.so.4 libXext.so.6 libfontconfig.so.1 libQtScript.so.4 libXfixes.so.3 libfreetype.so.6 libQtXml.so.4 libXinerama.so.1 libgcc_s.so.1 librt.so.1 libXi.so.6 libglib-2.0.so.0 libSM.so.6 libXrandr.so.2 libICE.so.6 libstdc++.so.6 libXrender.so.1 libjpeg.so.8 libtiff.so.3 libz.so.1 /lib/ld-linux.so.2 libuuid.so.1 linux-gate.so.1 libm.so.6 libX11.so.6 libpng15.so.15 libXau.so.6
Além disso, eu compilei o programa a partir do repositório da minha distribuição (dinâmico) e as diferenças entre openStatic
e openDynamic
são:
# function openStatic { strace ./wkhtmltoimage/static/wkhtmltoimage-i386 \
|& grep 'open.*3' |sort | grep -o '/[^"]*' ;}
# openStatic
/etc/ld.so.cache /usr/lib/libexpat.so.1
/lib/ld-linux.so.2 /usr/lib/libfontconfig.so.1
/lib/libbz2.so.1 /usr/lib/libfreetype.so.6
/lib/libc.so.6 /usr/lib/libX11.so.6
/lib/libdl.so.2 /usr/lib/libXau.so.6
/lib/libgcc_s.so.1 /usr/lib/libxcb.so.1
/lib/libm.so.6 /usr/lib/libXdmcp.so.6
/lib/libpthread.so.0 /usr/lib/libXext.so.6
/lib/librt.so.1 /usr/lib/libXrender.so.1
/lib/libz.so.1
/usr/lib/gcc/i686-pc-linux-gnu/4.5.3/libstdc++.so.6
------ Statically embedded libraries ------ --- Dynamically linked dependencies --- 1 l/ld-linux.so.2 1 ul/libk5crypto.so.3 2 /etc/ld.so.cache 1 l/libcom_err.so.2 1 ul/libkrb5.so.3 2 /lib/libbz2.so.1 1 l/libkeyutils.so.1 1 ul/libkrb5support.so.0 2 /lib/libc.so.6 1 l/libresolv.so.2 1 ul/liborc-0.4.so.0 2 /lib/libdl.so.2 1 l/libuuid.so.1 1 ul/libpng15.so.15 2 /lib/libgcc_s.so.1 1 ul/gconv/gconv-modules.cache 1 ul/libSM.so.6 2 /lib/libm.so.6 1 ul/gconv/UTF-16.so 1 ul/libsqlite3.so.0 2 /lib/libpthread.so.0 1 ul/libcrypto.so.1.0.0 1 ul/libssl.so.1.0.0 2 /lib/librt.so.1 1 ul/libffi.so.5 1 ul/libwkhtmltox.so.0 2 /lib/libz.so.1 1 ul/libglib-2.0.so.0 1 ul/libXcursor.so.1 2 ul/gcc/.../libstdc++.so.6 1 ul/libgmodule-2.0.so.0 1 ul/libXfixes.so.3 2 ul/libexpat.so.1 1 ul/libgobject-2.0.so.0 1 ul/libXinerama.so.1 2 ul/libfontconfig.so.1 1 ul/libgstapp-0.10.so.0 1 ul/libXi.so.6 2 ul/libfreetype.so.6 1 ul/libgstbase-0.10.so.0 1 ul/libxml2.so.2 2 ul/libX11.so.6 1 ul/libgstinterfaces-0.10.so.0 1 ul/libXrandr.so.2 2 ul/libXau.so.6 1 ul/libgstpbutils-0.10.so.0 1 ul/qt4/libQtCore.so.4 2 ul/libxcb.so.1 1 ul/libgstreamer-0.10.so.0 1 ul/qt4/libQtGui.so.4 2 ul/libXdmcp.so.6 1 ul/libgstvideo-0.10.so.0 1 ul/qt4/libQtNetwork.so.4 2 ul/libXext.so.6 1 ul/libgthread-2.0.so.0 1 ul/qt4/libQtSvg.so.4 2 ul/libXrender.so.1 1 ul/libICE.so.6 1 ul/qt4/libQtWebKit.so.4
mais informações:
static vinculando a sua pergunta sobre SO (duplicar, wink -wink)