Imagemagickをインストールした後、jpgイメージで次のようにテストしました。
identify 1.jpg
しかし、私はこの結果を得ました:
identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550.
次に、JPEG形式のサポートを追加しようとしました:
yum install libjpeg libjpeg-devel
しかし、私は得た:
Setting up Install Process
No package libjpeg available.
No package libjpeg-devel available.
Nothing to do
私はapt-getを更新する必要があると思いました、私はやった:
apt-get install libjpeg libjpeg-devel
しかし、私は得た:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libjpeg
E: Unable to locate package libjpeg-devel
これらのライブラリをインストールする簡単な方法はありますか? Ubuntu 12.04を使用しています。
http://www.ijg.org/files/jpegsrc.v8c.tar.gz で利用可能なjpegエンコーディングライブラリをソースからインストールすることで問題を修正しました。
cd /usr/local/src
tar xvfz jpeg-8c.tar.gz
cd jpeg-8c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
Sudo make install
次に、ソースからImageMagickを再インストールしました。
cd /usr/local/src
tar xvfz ImageMagick-6.6.9-5.tar.gz
cd ImageMagick-6.6.9-5
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-Perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
make
Sudo make install
動作するようになったので、次のようにテストしました。
sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg
1.jpg JPEG 128x106 128x106+0+0 8-bit sRGB 2.22KB 0.000u 0:00.000
ソースからImageMagickをビルドする場合、すべての依存関係を手動で解決する準備をする必要があります。差し迫った必要がない限り、すべてのソフトウェアをリポジトリ(公式リポジトリまたはPPA)からUbuntuにインストールする必要があります。
APT(apt-get
、Synaptic、Software Centerなど)を使用してImagemagickをインストールすると、マシンで確認したとおり、JPGファイルは正常に機能します。
ソースからビルドする理由が最新バージョンを取得することである場合は、最新バージョンを追跡するPPAを探してください。開発を支援するためにソースからビルドする場合、Imagemagickの人々から、ソースからビルドを成功させるために必要なものを見つける必要があります。 ./configure
にフラグを指定するか、./configure
を実行する前に開発ライブラリをインストールする必要がある場合があります。
しかし、通常、ソースからビルドすると、不必要に複雑になります。
ああ、ところで、Red HatとUbuntuはパッケージに異なる名前を使用しています。したがって、yum
がパッケージの欠落について不平を言う場合、apt-get
がその名前のパッケージを見つけられなくても驚くことではありません。特に理由がない限り、システム上でパッケージマネージャーを混在させないでください。それでも、他のすべてのオプションを最初に試してください。
no decode delegate
エラーは(紛らわしいことに)imagemagick(またはその一部)がファイルを見つけられないことに起因することに注意してください。したがって、imagemagickを再インストールするために実行する前に、identify -list format
およびconvert -list configure
でJPEG形式がサポートされているかどうかを確認してください。
たとえば、convert -resize 50% foo\ bar.jpg
はno decode delegate for this image format
エラーを示しましたが、convert -resize 50% 'foo bar.jpg'
は完全に機能しました。
Php5-imagickをインストールしたばかりの場合は、imagemagickフルパッケージもインストールしてみてください。これにより、jpegなど、必要なすべてのライブラリがインストールされます。
Sudo apt-get install imagemagick
次に、Webサーバーを再起動して、すべてのライブラリを再ロードします。
Sudo service Apache2 restart
JPEGデコードはエラーなしで動作するようになりました。
| 最も簡単な方法 |ソフトウェアセンターから「Synaptic Package Manager」をダウンロードします。 ->古いlibjpegパッケージを削除しました*-> libjpeg8とlibjpeg-turbo8&libjpeg-turbo8-devを再インストールしました。
PS:同じエラーが発生していました。解決するのに2日かかりました。 jpg画像を表示しようとしたときのエラー:
no decode delegate for this image format `jpeg' @ error/constitute.c/readimage/504
次に、ソフトウェアセンターから「Synaptic Package Manager」をダウンロードします。 ->古いlibjpegパッケージを削除しました*-> libjpeg8とlibjpeg-turbo8&libjpeg-turbo8-devを再インストールしました。
(* synapticsパッケージマネージャーは他のパッケージとの依存関係を表示し、古い独立したlibjpegパッケージのみを削除します)
その後、エラーを恐れることなくJPEG画像を開くことができます。
それが役に立てば幸い :)
やってみました :
sudo apt-get install libjpeg62
上記のコマンドが機能しない場合は、次のリンクをご覧ください。
http://psx-scene.com/forums/f150/help-install-libjpeg-libpng-ubuntu-9-10-livecd-64122/
これが役に立ちましたら、幸運を祈ってください... :)