![安装 imagemagick 时出现问题:看起来像是编译错误](https://linux22.com/image/104072/%E5%AE%89%E8%A3%85%20imagemagick%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%EF%BC%9A%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%83%8F%E6%98%AF%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF.png)
我正在尝试在新的 (Linux Mint 18) Linux 安装上安装 ImageMagick 6.4。我想要 6.4,因为这是我们服务器上的版本。
我下载了一个tar.gz,解压它,运行configure
然后尝试make
。我立即收到大量这样的错误:
$ make
make all-am
make[1]: Entering directory '/home/max/software/imagemagick/6.4/ImageMagick-6.4.0'
/bin/bash ./libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./config -I/usr/include/freetype2 -I/usr/include/libxml2 -g -O2 -Wall -W -pthread -MT coders/coders_art_la-art.lo -MD -MP -MF coders/.deps/coders_art_la-art.Tpo -c -o coders/coders_art_la-art.lo `test -f 'coders/art.c' || echo './'`coders/art.c
In file included from coders/art.c:5
./magick/quantum-private.h: In function ‘PopDoublePixel’:
./magick/quantum-private.h:85:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((double *) quantum)=(double) (pixel*quantum_state->scale+
^
./magick/quantum-private.h: In function ‘PopFloatPixel’:
./magick/quantum-private.h:115:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((float *) quantum)=(float) ((double) pixel*quantum_state->scale+
In file included from magick/blob.c:65:0:
/usr/include/zlib.h:1536:30: note: expected ‘gzFile {aka struct gzFile_s *}’ but argument is of type ‘FILE * {aka struct _IO_FILE *}’
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
^
我对编译不太了解,但这些看起来都像是编译或运行代码的某种根本性失败。有很多。谁能猜出我错过了什么,或者我做错了什么?
编辑:完整输出在这里:http://pastebin.com/v01aj8hu
答案1
我发现了同样的问题,它与构建机器有关,您的 C 和 C++ 标准库比 ImageMagick 版本所需的库更新。升级 ImageMagick 版本即可解决问题。
另一种解决方案是使用容器或另一台机器来构建它。
希望这些信息对其他人有帮助:)。