我在Arch上安装了带有ImageMagick的pacman。现在我试着写两张像这样的图片:
convert \( -size 1x1 xc:black \) \( -size 1x1 xc:black \) -composite out.png但它会在100%的CPU负载下冻结。我要用^C杀了它。正如您所看到的,它与输入图像大小或任何东西无关,因为我尝试合成两个1x1像素的内存图像。ImageMagick的版本:
$ convert --version
Version: ImageMagick 6.9.1-2 Q16 x86_64 2015-05-19 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC HDRI Modules OpenCL OpenMP
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms lqr ltdl lzma pangocairo png ps rsvg tiff webp wmf x xml zlib发布于 2015-05-24 12:38:27
显然,这是OpenMP的一个已知问题,它是一个提供多线程支持的库,默认情况下被编译到ImageMagick中。
为了解决这个问题,我下载并提取了ImageMagick的源代码:
wget ftp://ftp.imagemagick.org:21/pub/ImageMagick/ImageMagick-6.9.1-2.tar.gz -O - | tar xzv然后按如下方式编译:
cd ImageMagick-6.9.1-2
./configure --disable-openmp
make
sudo make install所以我的版本是这样的:
$ /usr/local/bin/convert --version
Version: ImageMagick 6.9.1-2 Q16 x86_64 2015-05-24 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC
Delegates (built-in): bzlib fftw fontconfig freetype jng jpeg lcms lqr lzma pangocairo png tiff webp x xml zlib它终于成功了--它不再冻结并立即产生我想要的输出。
https://unix.stackexchange.com/questions/205344
复制相似问题