【wkhtmltopdf】Undefined Symbol FcFreeTypeQueryFace のエラー
問題
wkhtmltopdf(wkhtmltoimage)を使っていたら、エラーが発生しました。
cssで@font-faceを使って日本語フォントを表示しようとしたら、以下のようなエラーメッセージが出ました。
wkhtmltopdf: symbol lookup error: wkhtmltopdf: undefined symbol: FcFreeTypeQueryFace
答え
fontconfigパッケージのバージョンが低いとAPIが違うのでエラーになるらしい。
wkhtmltopdf(wkhtmltoimage)を実行するときに、LD_PRELOADで新しいバージョンのfontconfigを指定してやれば回避できる。2.4.2以降なら大丈夫らしい。
今なら、2.10系がダウンロードできる。
http://www.freedesktop.org/software/fontconfig/release/ の下の方。
CentOS5などではおそらく先に古いバージョンが入っていると思うので、どこか別な場所を指定してインストールしておく。
wget http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.2.tar.bz2 tar xjf fontconfig-2.10.2.tar.bz2 cd fontconfig-2.10.2 ./configure --prefix=/opt/fontconfig-2.10.2 make make install
コンパイル、インストールができたら、以下のように実行すれば、新しい方を使ってくれる。
LD_PRELOAD=/opt/fontconfig-2.10.2/lib/libfontconfig.so wkhtmltopdf test.html test.pdf
コメント