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
ますか?
助けていただければ幸いです。ありがとう。