wkhtmltopdf最新のソースからコンパイルしようとしています。私はUbuntu 12.10 x64サーバーエディションを使用しています。
コンパイルについてはwkhtmltopdf-qt、著者が述べたように、新しい Git リポジトリがgitorious.org/~antialize/qt/antializes-qt.gitブランチにあり4.8.2ます。だから、それは私も使ったものです。
すべてうまくいきました。両方 (qt と wkhtmltopdf) のコンパイルが正常に完了しました。しかし、ルートとしてのみ wkhtmltopdf を使用できました (sudo を使用)。他のユーザーとして実行すると、次のエラーが発生しました。
error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory.
root ユーザーのホーム ディレクトリ (/root) 内のファイルを使用して、すべてのコンパイルを root として実行しました。wkhtmltopdf プログラムはwkqt、コンパイルされた qt が存在するディレクトリ (およびlibQtWebKit.so.4ファイル) を読み取る必要があると推測しました。このディレクトリは root ユーザーのホーム ディレクトリ内にもあったため、他のユーザーが を実行できませんwkhtmltopdfでした。
ということで、一からやり直すことにしました。今回は、すべてのソースファイル (wkhtmltopdf-qtとwkhtmltopdf)を に入れます/usr/wkhtmltopdf。qmakeしかし、qt のコンパイル中に、コンパイラが qt ソースが存在していた以前の (古い) 場所にアクセスしようとするとエラーが発生します( /root/wkhtmltopdf-qt)。
以下のエラー:
ln -s libQtDeclarative.so.4.8.2 libQtDeclarative.so
ln -s libQtDeclarative.so.4.8.2 libQtDeclarative.so.4
ln -s libQtDeclarative.so.4.8.2 libQtDeclarative.so.4.8
rm -f ../../lib/libQtDeclarative.so.4.8.2
rm -f ../../lib/libQtDeclarative.so
rm -f ../../lib/libQtDeclarative.so.4
rm -f ../../lib/libQtDeclarative.so.4.8
mv -f libQtDeclarative.so.4.8.2 libQtDeclarative.so libQtDeclarative.so.4 libQtDeclarative.so.4.8 ../../lib/
make[1]: Leaving directory `/usr/wkhtmltopdf/wkhtmltopdf-qt/src/declarative'
cd src/3rdparty/webkit/Source/ && make -f Makefile.WebKit
make[1]: Entering directory `/usr/wkhtmltopdf/wkhtmltopdf-qt/src/3rdparty/webkit/Source'
/root/wkhtmltopdf-qt/bin/qmake -spec ../../../../mkspecs/linux-g++-64 -o Makefile.WebKit WebKit.pro
make[1]: /root/wkhtmltopdf-qt/bin/qmake: Command not found
make[1]: *** [Makefile.WebKit] Error 127
make[1]: Leaving directory `/usr/wkhtmltopdf/wkhtmltopdf-qt/src/3rdparty/webkit/Source'
make: *** [sub-webkit-make_default-ordered] Error 2
まったく新しいソースコードから始めているときに、これがどのように可能であるかがわかりません。
wkhtmltopdf-qt以前にインストールした を完全に削除 (アンインストール) する方法はありwkhtmltopdfますか?
助けていただければ幸いです。ありがとう。