我在安装 RMagick 3.0.0 时遇到错误。我安装了 ImageMagick 6.9.11-43,但也尝试过 6.9.10-77(它在另一个系统上工作并在下面的代码片段中使用)和 6.9.11-57。
我在每次版本更改时都取消了 Imagemagick 的链接和链接,但仍然出现完全相同的错误。
如果有人在任何帮助之前遇到过这种情况,我们将不胜感激
======================================================================
Wed 13Jan21 09:37:28
This installation of RMagick 3.0.0 is configured for
Ruby 2.5.5 (x86_64-darwin19) and ImageMagick 6.9.10
======================================================================
Configured compile options: {:magick_config=>true, :with_magick_wand=>true, :pkg_config=>false, :magick_version=>"6.9.10", :local_libs=>" -L/usr/local/Cellar/imagemagick@6/6.9.10-77/lib
-lMagickWand-6.Q16 -lMagickCore-6.Q16", :cflags=>" -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
-I/usr/local/Cellar/imagemagick@6/6.9.10-77/include/ImageMagick-6", :cppflags=>" -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0
-DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/Cellar/imagemagick@6/6.9.10-77/include/ImageMagick-6", :ldflags=>" -L/usr/local/Cellar/imagemagick@6/6.9.10-77/lib -lMagickWand-6.Q16
-lMagickCore-6.Q16", :defs=>[], :config_h=>"Makefile rmagick.h"}
current directory: /Users/abc/.rvm/gems/ruby-2.5.5@rails5.2_proj_255/gems/rmagick-3.0.0/ext/RMagick
make "DESTDIR=" clean
current directory: /Users/abc/.rvm/gems/ruby-2.5.5@rails5.2_proj_255/gems/rmagick-3.0.0/ext/RMagick
make "DESTDIR="
compiling rmagick.c
compiling rmdraw.c
compiling rmenum.c
rmenum.c:497:13: warning: 6 enumeration values not handled in switch: 'DivideSrcCompositeOp', 'MinusSrcCompositeOp', 'DarkenIntensityCompositeOp'... [-Wswitch]
switch (op)
^
rmenum.c:497:13: note: add missing switch cases
switch (op)
^
rmenum.c:612:13: warning: 5 enumeration values not handled in switch: 'LZMACompression', 'JBIG1Compression', 'JBIG2Compression'... [-Wswitch]
switch (ct)
^
rmenum.c:612:13: note: add missing switch cases
switch (ct)
^
rmenum.c:721:12: warning: 9 enumeration values not handled in switch: 'SincFastFilter', 'LanczosSharpFilter', 'Lanczos2Filter'... [-Wswitch]
switch(type)
^
rmenum.c:721:12: note: add missing switch cases
switch(type)
^
rmenum.c:969:12: warning: 5 enumeration values not handled in switch: 'Average9InterpolatePixel', 'Average16InterpolatePixel', 'BlendInterpolatePixel'... [-Wswitch]
switch(interpolate)
^
rmenum.c:969:12: note: add missing switch cases
switch(interpolate)
^
4 warnings generated.
compiling rmfill.c
compiling rmilist.c
compiling rmimage.c
rmimage.c:4019:5: warning: 'ConstituteComponentTerminus' is deprecated [-Wdeprecated-declarations]
DestroyConstitute();
^
./rmagick.h:140:33: note: expanded from macro 'DestroyConstitute'
#define DestroyConstitute(void) ConstituteComponentTerminus(void)
^
/usr/local/Cellar/imagemagick@6/6.9.10-77/include/ImageMagick-6/magick/deprecate.h:328:55: note: 'ConstituteComponentTerminus' has been explicitly marked deprecated here
ConstituteComponentTerminus(void) magick_attribute((deprecated)),
^
rmimage.c:8414:16: warning: address of array 'image->filename' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (image->filename)
~~ ~~~~~~~^~~~~~~~
rmimage.c:10966:13: warning: incompatible pointer to integer conversion returning 'Image *' (aka 'struct _Image *') from a function with result type 'VALUE' (aka 'unsigned long')
[-Wint-conversion]
return((Image *) NULL);
^~~~~~~~~~~~~~~~
rmimage.c:12829:5: warning: incompatible pointer types initializing 'volatile VALUE *' (aka 'volatile unsigned long *') with an expression of type 'double *volatile *'
[-Wincompatible-pointer-types]
RB_GC_GUARD(args);
^~~~~~~~~~~~~~~~~
/Users/abc/.rvm/rubies/ruby-2.5.5/include/ruby-2.5.0/ruby/ruby.h:542:18: note: expanded from macro 'RB_GC_GUARD'
volatile VALUE *rb_gc_guarded_ptr = &(v); \
^ ~~~~
4 warnings generated.
compiling rminfo.c
compiling rmkinfo.c
rmkinfo.c:80:3: error: implicit declaration of function 'ZeroKernelNans' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ZeroKernelNans((KernelInfo*)DATA_PTR(self));
^
1 error generated.
make: *** [rmkinfo.o] Error 1
make failed, exit code 2