さて、私はまだ解決されていないPILの以前の問題を抱えていました。他の誰かがこの問題を抱えていて、古いJPEGライブラリを削除することで成功しました。私のマシンでは実際にはできませんが、RHELであり、libjpegとlibjpeg-develに依存しているものがたくさんあります(yum remove libjpegを見てみたところ、合計252個のパッケージがありました。削除されました!)
/ usr / local/libにjpeg-8をインストールしています。Pythonでは正しく使用されていますが、apacheでは使用されていません。lsofのリストは次のとおりです。
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd xxxxx root mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
python xxxxx jordan DEL REG 253,3 xxxxx63 /usr/local/lib/libjpeg.so.8.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
httpd xxxxx apache mem REG 253,3 xxxxx0 xxxxx34 /usr/lib64/libjpeg.so.62.0.0
だから、これが私が疑問に思っていることです。libjpeg-6bをアンインストールできないので、apacheに代わりにlibjpeg-8を使用させる方法はありますか?
さて、最近の実行でlsof
は、apacheがlibjpeg.so.8.0.0もロードしているが、まだエラーが発生していることを示しています。これは、まだ62バージョンを使用していることを示しています。代わりに8バージョンを優先する方法はありますか?
更新#1
ldd
lib64 / modules内のすべてのモジュールに対して実行すると、libjpegへの参照がありませんでした。ldd
PILの_imaging.soファイルで実行すると、新しいバージョンのlibjpegを使用していることがわかりました。私のシステムにはPILのバージョンが1つしかないことは間違いありません。かなり徹底的な検索を行いました。
httpdまたはpythonに関連付けられているプログラムまたはモジュールがlibjpegをロードする可能性が高いことを知っている人はいますか?に表示されているので、apacheを介して何かがロードされていることを知っていlsof
ます。