Installing rmagick 4.2.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4/ext/RMagick
/Users/nakanodaichi/.rbenv/versions/3.2.0/bin/ruby -I /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0 extconf.rb
checking for brew... yes
checking for Ruby version >= 2.3.0... yes
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.7.7)... no
checking for clang... yes
checking for __GNUC__... yes
checking for MagickCore/MagickCore.h... yes
checking for rb_gc_adjust_memory_usage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes
checking for posix_memalign() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes
checking for malloc_usable_size() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no
checking for malloc_size() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes
checking for _aligned_msize() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no
checking for GetImageChannelEntropy() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no
checking for SetImageGray() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no
checking for SetMagickAlignedMemoryMethods() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no
checking for malloc.h... no
checking for malloc/malloc.h... yes
creating extconf.h
creating Makefile
======================================================================
Wed 07 Jun 23 19:47:21
This installation of RMagick 4.2.4 is configured for
Ruby 3.2.0 (x86_64-darwin22) and ImageMagick 7.1.1
======================================================================
current directory: /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4/ext/RMagick
make DESTDIR\= sitearchdir\=./.gem.20230607-81071-b00vdz sitelibdir\=./.gem.20230607-81071-b00vdz clean
current directory: /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4/ext/RMagick
make DESTDIR\= sitearchdir\=./.gem.20230607-81071-b00vdz sitelibdir\=./.gem.20230607-81071-b00vdz
compiling rmagick.c
compiling rmdraw.c
compiling rmenum.c
compiling rmfill.c
compiling rmilist.c
compiling rmimage.c
rmimage.c:3032:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
IMPLEMENT_ATTR_READER(Image, colors, ulong);
./rmagick.h:453:44: note: expanded from macro 'IMPLEMENT_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./rmagick.h:439:43: note: expanded from macro 'C_ulong_to_R_ulong'
#define C_ulong_to_R_ulong(attr) UINT2NUM(attr) /**< C unsigned long -> Ruby unsigned long */
~~~~~~~~ ^~~~
rmimage.c:4983:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
IMPLEMENT_ATTR_READER(Image, delay, ulong);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
./rmagick.h:453:44: note: expanded from macro 'IMPLEMENT_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./rmagick.h:439:43: note: expanded from macro 'C_ulong_to_R_ulong'
#define C_ulong_to_R_ulong(attr) UINT2NUM(attr) /**< C unsigned long -> Ruby unsigned long */
~~~~~~~~ ^~~~
rmimage.c:7551:32: error: use of undeclared identifier 'IsGrayImage'
return has_attribute(self, IsGrayImage);
^
rmimage.c:9676:34: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
IMPLEMENT_ATTR_READER(Image, offset, long);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
./rmagick.h:453:44: note: expanded from macro 'IMPLEMENT_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./rmagick.h:437:40: note: expanded from macro 'C_long_to_R_long'
#define C_long_to_R_long(attr) INT2NUM(attr) /**< C long -> Ruby long */
~~~~~~~ ^~~~
rmimage.c:10529:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
IMPLEMENT_ATTR_READER(Image, quality, ulong);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
./rmagick.h:453:44: note: expanded from macro 'IMPLEMENT_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./rmagick.h:439:43: note: expanded from macro 'C_ulong_to_R_ulong'
#define C_ulong_to_R_ulong(attr) UINT2NUM(attr) /**< C unsigned long -> Ruby unsigned long */
~~~~~~~~ ^~~~
rmimage.c:12082:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
IMPLEMENT_ATTR_READER(Image, scene, ulong);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
./rmagick.h:453:44: note: expanded from macro 'IMPLEMENT_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./rmagick.h:439:43: note: expanded from macro 'C_ulong_to_R_ulong'
#define C_ulong_to_R_ulong(attr) UINT2NUM(attr) /**< C unsigned long -> Ruby unsigned long */
~~~~~~~~ ^~~~
5 warnings and 1 error generated.
make: *** [rmimage.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4 for inspection.
Results logged to /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/extensions/x86_64-darwin-22/3.2.0/rmagick-4.2.4/gem_make.out
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:102:in `run'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:51:in `block in make'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:43:in `each'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:43:in `make'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:42:in `build'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:171:in `build_extension'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:205:in `block in build_extensions'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:202:in `each'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/ext/builder.rb:202:in `build_extensions'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/rubygems/installer.rb:843:in `build_extensions'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/rubygems_gem_installer.rb:72:in `build_extensions'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/rubygems_gem_installer.rb:28:in `install'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/source/rubygems.rb:200:in `install'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/installer/gem_installer.rb:54:in `install'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/installer/gem_installer.rb:16:in `install_from_spec'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/installer/parallel_installer.rb:155:in `do_install'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/installer/parallel_installer.rb:146:in `block in worker_pool'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/worker.rb:62:in `apply_func'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/worker.rb:57:in `block in process_queue'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/worker.rb:54:in `loop'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/worker.rb:54:in `process_queue'
/Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/3.2.0/bundler/worker.rb:90:in `block (2 levels) in create_threads'
An error occurred while installing rmagick (4.2.4), and Bundler cannot continue.
In Gemfile:
rmagick
```
- どの処理までうまく動いているのか
imagemagickのinstallは完了しております。
また、pathに関してもできていると思います。
- 該当のソースコード
```
nakanodaichi@nakanodaichinoMacBook-Air selfserch % convert --version
Version: ImageMagick 6.9.12-89 Q16 aarch64 17850 https://legacy.imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules
Delegates (built-in): bzlib fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma png ps tiff webp xml zlib
nakanodaichi@nakanodaichinoMacBook-Air selfserch % export PATH="/opt/homebrew/opt/imagemagick@6/bin:$PATH"
nakanodaichi@nakanodaichinoMacBook-Air selfserch % export LDFLAGS="-L/opt/homebrew/opt/imagemagick@6/lib"
nakanodaichi@nakanodaichinoMacBook-Air selfserch % export CPPFLAGS="-I/opt/homebrew/opt/imagemagick@6/include"
nakanodaichi@nakanodaichinoMacBook-Air selfserch % export PKG_CONFIG_PATH="/opt/homebrew/opt/imagemagick@6/lib/pkgconfig"
nakanodaichi@nakanodaichinoMacBook-Air selfserch % brew uninstall --force imagemagick
nakanodaichi@nakanodaichinoMacBook-Air selfserch % convert --version
Version: ImageMagick 6.9.12-89 Q16 aarch64 17850 https://legacy.imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules
Delegates (built-in): bzlib fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma png ps tiff webp xml zlib
```
- エラーから考えられる原因
ネットで調べたところM2の人で同じエラーが出ているようです。
しかし、具体的な解決策は書かれておりませんでした。
- 試したこと
以下のサイトを含め一通り試しました。
https://qiita.com/fuj1kky/items/8aa117bfef4279100fce
https://stackoverflow.com/questions/15607580/ruby-gem-rmagick-wont-install-on-mac-os-x
https://qiita.com/yukiweaver/items/52c45f442b9d9d59367e
現状発生している問題・エラーメッセージ
Configured compile options: {:magick_version=>"7.1.1", :local_libs=>" -L/opt/homebrew/Cellar/imagemagick/7.1.1-11/lib -lMagickCore-7.Q16HDRI", :cppflags=>" -Xpreprocessor -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/opt/homebrew/Cellar/imagemagick/7.1.1-11/include/ImageMagick-7 -std=gnu99", :ldflags=>" -L/opt/homebrew/Cellar/imagemagick/7.1.1-11/lib -lMagickCore-7.Q16HDRI", :defs=>[], :config_h=>"Makefile"}
current directory: /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4/ext/RMagick make DESTDIR\= sitearchdir\=./.gem.20230607-81071-b00vdz sitelibdir\=./.gem.20230607-81071-b00vdz clean
current directory: /Users/nakanodaichi/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rmagick-4.2.4/ext/RMagick make DESTDIR\= sitearchdir\=./.gem.20230607-81071-b00vdz sitelibdir\=./.gem.20230607-81071-b00vdz compiling rmagick.c compiling rmdraw.c compiling rmenum.c compiling rmfill.c compiling rmilist.c compiling rmimage.c rmimage.c:3032:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] IMPLEMENT_ATTR_READER(Image, colors, ulong);