Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gem::Ext::BuildError: ERROR: Failed to build gem native extension: gsl #20

Closed
0xdevalias opened this issue Nov 7, 2019 · 2 comments
Closed

Comments

@0xdevalias
Copy link
Owner

0xdevalias commented Nov 7, 2019

The 'Jekyll Deploy' action failed for the following reason:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/gsl-2.1.0.3/ext/gsl_native
/usr/local/bin/ruby -r ./siteconf20191107-6-84yx79.rb extconf.rb
*** ERROR: missing required library to compile this module: No such file or
directory - gsl-config
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
An error occurred while installing gsl (2.1.0.3), and Bundler cannot continue.
Make sure that `gem install gsl -v '2.1.0.3'` succeeds before bundling.

This is likely due to a limitation/missing dependency in the https://github.com/BryanSchuetz/jekyll-deploy-gh-pages action.

It's a pretty trivial setup.. so we could probably just make our own.

I don't like that it claims the action/build succeeded when it failed too... should look into that.

@0xdevalias
Copy link
Owner Author

0xdevalias commented Jul 21, 2020

Just ran into this again:

Fetching gsl 2.1.0.3
Installing gsl 2.1.0.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3/ext/gsl_native
/Users/devalias/.rbenv/versions/2.7.1/bin/ruby -I /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200721-319-1bam2cv.rb extconf.rb
*** ERROR: missing required library to compile this module: No such file or directory - gsl-config
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/Users/devalias/.rbenv/versions/2.7.1/bin/$(RUBY_BASE_NAME)
	--with-gsl-version

extconf failed, exit code 1

This appears to happen when we haven't previously installed the gsl binaries/libs as required. We can do this on macOS with:

brew install gsl

Once doing that, we can continue as normal, and it appears to work correctly:

Post-install message from gsl:

    gsl can be installed with or without narray support. Please install
    narray before and reinstall gsl if it is missing.

    gsl is also now compatible with NMatrix. Please install nmatrix before
    installing gsl.

More background info on the dependencies for classifier-reborn, gsl, etc are detailed in #83

@0xdevalias
Copy link
Owner Author

0xdevalias commented Jun 20, 2024

Ran into this again (one day I might learn/remember past solutions..:

⇒ bundle install

..snip..

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3/ext/gsl_native
/Users/devalias/.rbenv/versions/2.7.1/bin/ruby -I /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20240620-69761-1fcewq5.rb extconf.rb
*** ERROR: missing required library to compile this module: No such file or directory - gsl-config
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/Users/devalias/.rbenv/versions/2.7.1/bin/$(RUBY_BASE_NAME)
	--with-gsl-version

extconf failed, exit code 1

Gem files will remain installed in /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3 for inspection.
Results logged to /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-23/2.7.0-static/gsl-2.1.0.3/gem_make.out

An error occurred while installing gsl (2.1.0.3), and Bundler cannot continue.
Make sure that `gem install gsl -v '2.1.0.3' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  gsl

Attempted to fix it as before with:

brew install gsl

But then when I did bundle install again, I got a different set of errors:

More Details
..snip..

Fetching gsl 2.1.0.3
Installing gsl 2.1.0.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3/ext/gsl_native
/Users/devalias/.rbenv/versions/2.7.1/bin/ruby -I /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20240620-77076-7dnhot.rb extconf.rb
checking gsl version... 2.8
checking gsl cflags... -I/usr/local/Cellar/gsl/2.8/include
checking gsl libs... -L/usr/local/Cellar/gsl/2.8/lib -lgsl -lgslcblas
checking for round()... yes
checking for alf/alf.h... no
checking for qrngextra/qrngextra.h... no
checking for rngextra/rngextra.h... no
checking for tensor/tensor.h... no
checking for gsl/gsl_multimin_fsdf.h... no
checking for gsl/gsl_cqp.h... no
checking for jacobi.h... no
checking for ndlinear/gsl_multifit_ndlinear.h... no
checking for ool/ool_version.h... no
checking for gsl_eigen_francis() in -lgsl... yes
checking for gsl_eigen_francis()... yes
checking for gsl_poly_solve_quartic() in -lgsl... no
checking for graph... no
checking for tamu_anova/tamu_anova.h... no
checking for gsl_multifit_fdfsolver.J in gsl/gsl_multifit_nlin.h... no
checking for gsl_sf_mathieu_a_e() in gsl/gsl_sf_mathieu.h... yes
checking for gsl_sf_mathieu_b_e() in gsl/gsl_sf_mathieu.h... yes
checking for gsl_sf_mathieu_ce_e() in gsl/gsl_sf_mathieu.h... yes
checking for gsl_sf_mathieu_se_e() in gsl/gsl_sf_mathieu.h... yes
checking for gsl_sf_mathieu_Mc_e() in gsl/gsl_sf_mathieu.h... yes
checking for gsl_sf_mathieu_Ms_e() in gsl/gsl_sf_mathieu.h... yes
creating gsl_config.h
creating Makefile

current directory: /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3/ext/gsl_native
make "DESTDIR=" clean

current directory: /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3/ext/gsl_native
make "DESTDIR="
compiling alf.c
compiling array.c
In file included from array.c:12:
In file included from ./include/rb_gsl_common.h:20:
/usr/local/Cellar/gsl/2.8/include/gsl/gsl_version.h:18:9: warning: 'GSL_VERSION' macro redefined [-Wmacro-redefined]
#define GSL_VERSION "2.8"
        ^
<command line>:1:9: note: previous definition is here
#define GSL_VERSION 2.8
        ^
In file included from array.c:12:
./include/rb_gsl_common.h:29:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:145:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:12:
./include/rb_gsl_common.h:352:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cGSL_Object;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:147:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:39:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block, cgsl_block_int;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:149:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:40:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_uchar;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:151:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:41:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:153:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:42:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector, cgsl_vector_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:155:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:43:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:157:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:44:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:159:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:45:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:161:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:46:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:163:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:47:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view, cgsl_vector_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:165:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:48:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view_ro, cgsl_vector_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:167:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:49:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:169:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:51:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int, cgsl_vector_int_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:2:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:52:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view, cgsl_vector_int_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:4:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:53:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view_ro, cgsl_vector_int_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:6:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:55:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix, cgsl_matrix_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:8:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:56:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:10:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:57:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:12:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:58:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view, cgsl_matrix_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:14:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:59:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int, cgsl_matrix_int_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:16:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:60:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:18:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:61:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_permutation;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:20:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:62:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_index;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:22:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:63:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_function;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:24:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:64:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mgsl_narray;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:26:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:13:
./include/rb_gsl_array.h:66:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mDirac;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:28:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array.c:14:
./include/rb_gsl_complex.h:21:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:30:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
array.c:545:22: warning: passing arguments to 'Init_gsl_vector_int' without a prototype is deprecated in all versions of C and is not supported in C2x
[-Wdeprecated-non-prototype]
  Init_gsl_vector_int(module);
                     ^
30 warnings generated.
compiling array_complex.c
In file included from array_complex.c:12:
./include/rb_gsl_complex.h:21:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:130:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
In file included from ./include/rb_gsl_array.h:27:
In file included from include/rb_gsl_common.h:20:
/usr/local/Cellar/gsl/2.8/include/gsl/gsl_version.h:18:9: warning: 'GSL_VERSION' macro redefined [-Wmacro-redefined]
#define GSL_VERSION "2.8"
        ^
<command line>:1:9: note: previous definition is here
#define GSL_VERSION 2.8
        ^
In file included from array_complex.c:13:
In file included from ./include/rb_gsl_array.h:27:
include/rb_gsl_common.h:29:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:146:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
In file included from ./include/rb_gsl_array.h:27:
include/rb_gsl_common.h:352:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cGSL_Object;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:148:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:39:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block, cgsl_block_int;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:150:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:40:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_uchar;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:152:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:41:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:154:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:42:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector, cgsl_vector_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:156:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:43:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:158:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:44:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:160:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:45:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:162:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:46:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:164:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:47:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view, cgsl_vector_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:166:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:48:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view_ro, cgsl_vector_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:168:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:49:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:2:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:51:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int, cgsl_vector_int_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:4:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:52:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view, cgsl_vector_int_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:6:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:53:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view_ro, cgsl_vector_int_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:8:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:55:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix, cgsl_matrix_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:10:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:56:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:12:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:57:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:14:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:58:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view, cgsl_matrix_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:16:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:59:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int, cgsl_matrix_int_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:18:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:60:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:20:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:61:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_permutation;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:22:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:62:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_index;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:24:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:63:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_function;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:26:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:64:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mgsl_narray;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:28:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from array_complex.c:13:
./include/rb_gsl_array.h:66:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mDirac;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:30:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
29 warnings generated.
compiling blas.c
In file included from blas.c:13:
In file included from ./include/rb_gsl_common.h:20:
/usr/local/Cellar/gsl/2.8/include/gsl/gsl_version.h:18:9: warning: 'GSL_VERSION' macro redefined [-Wmacro-redefined]
#define GSL_VERSION "2.8"
        ^
<command line>:1:9: note: previous definition is here
#define GSL_VERSION 2.8
        ^
In file included from blas.c:13:
./include/rb_gsl_common.h:29:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:145:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:13:
./include/rb_gsl_common.h:352:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cGSL_Object;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:147:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:39:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block, cgsl_block_int;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:149:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:40:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_uchar;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:151:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:41:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:153:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:42:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector, cgsl_vector_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:155:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:43:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:157:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:44:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:159:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:45:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:161:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:46:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:163:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:47:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view, cgsl_vector_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:165:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:48:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view_ro, cgsl_vector_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:167:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:49:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:169:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:51:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int, cgsl_vector_int_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:2:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:52:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view, cgsl_vector_int_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:4:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:53:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view_ro, cgsl_vector_int_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:6:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:55:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix, cgsl_matrix_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:8:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:56:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:10:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:57:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:12:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:58:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view, cgsl_matrix_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:14:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:59:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int, cgsl_matrix_int_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:16:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:60:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:18:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:61:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_permutation;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:20:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:62:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_index;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:22:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:63:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_function;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:24:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:64:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mgsl_narray;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:26:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas.c:14:
./include/rb_gsl_array.h:66:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mDirac;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:28:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
28 warnings generated.
compiling blas1.c
In file included from blas1.c:13:
./include/rb_gsl_complex.h:21:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:130:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
In file included from ./include/rb_gsl_array.h:27:
In file included from include/rb_gsl_common.h:20:
/usr/local/Cellar/gsl/2.8/include/gsl/gsl_version.h:18:9: warning: 'GSL_VERSION' macro redefined [-Wmacro-redefined]
#define GSL_VERSION "2.8"
        ^
<command line>:1:9: note: previous definition is here
#define GSL_VERSION 2.8
        ^
In file included from blas1.c:14:
In file included from ./include/rb_gsl_array.h:27:
include/rb_gsl_common.h:29:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:146:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
In file included from ./include/rb_gsl_array.h:27:
include/rb_gsl_common.h:352:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cGSL_Object;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:148:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:39:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block, cgsl_block_int;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:150:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:40:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_uchar;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:152:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:41:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:154:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:42:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector, cgsl_vector_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:156:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:43:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:158:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:44:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:160:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:45:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:162:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:46:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:164:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:47:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view, cgsl_vector_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:166:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:48:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view_ro, cgsl_vector_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:168:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:49:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:2:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:51:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int, cgsl_vector_int_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:4:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:52:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view, cgsl_vector_int_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:6:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:53:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view_ro, cgsl_vector_int_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:8:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:55:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix, cgsl_matrix_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:10:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:56:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:12:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:57:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:14:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:58:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view, cgsl_matrix_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:16:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:59:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int, cgsl_matrix_int_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:18:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:60:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:20:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:61:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_permutation;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:22:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:62:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_index;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:24:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:63:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_function;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:26:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:64:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mgsl_narray;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:28:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas1.c:14:
./include/rb_gsl_array.h:66:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mDirac;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:30:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
29 warnings generated.
compiling blas2.c
In file included from blas2.c:13:
In file included from ./include/rb_gsl_common.h:20:
/usr/local/Cellar/gsl/2.8/include/gsl/gsl_version.h:18:9: warning: 'GSL_VERSION' macro redefined [-Wmacro-redefined]
#define GSL_VERSION "2.8"
        ^
<command line>:1:9: note: previous definition is here
#define GSL_VERSION 2.8
        ^
In file included from blas2.c:13:
./include/rb_gsl_common.h:29:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN ID rb_gsl_id_beg, rb_gsl_id_end, rb_gsl_id_excl, rb_gsl_id_to_a;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:145:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:13:
./include/rb_gsl_common.h:352:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cGSL_Object;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:147:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:14:
./include/rb_gsl_complex.h:21:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:149:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:39:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block, cgsl_block_int;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:151:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:40:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_uchar;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:153:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:41:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_block_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:155:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:42:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector, cgsl_vector_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:157:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:43:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:159:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:44:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:161:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:45:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:163:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:46:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:165:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:47:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view, cgsl_vector_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:167:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:48:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_view_ro, cgsl_vector_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:169:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:49:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:2:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:51:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int, cgsl_vector_int_col;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:4:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:52:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view, cgsl_vector_int_col_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:6:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:53:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_vector_int_view_ro, cgsl_vector_int_col_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:8:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:55:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix, cgsl_matrix_complex;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:10:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:56:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:12:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:57:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_complex_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:14:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:58:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_view, cgsl_matrix_complex_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:16:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:59:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int, cgsl_matrix_int_view;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:18:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:60:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_matrix_int_view_ro;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:20:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:61:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_permutation;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:22:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:62:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_index;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:24:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:63:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE cgsl_function;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:26:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:64:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mgsl_narray;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:28:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
In file included from blas2.c:15:
./include/rb_gsl_array.h:66:1: warning: EXTERN is deprecated, use RUBY_EXTERN instead [-W#pragma-messages]
EXTERN VALUE mDirac;
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:411:19: note: expanded from macro 'EXTERN'
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
                  ^
<scratch space>:30:2: note: expanded from here
 message "EXTERN is deprecated, use RUBY_EXTERN instead"
 ^
blas2.c:1084:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2!", rb_gsl_blas_dsyr2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1085:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2", rb_gsl_blas_dsyr2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1086:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2!", rb_gsl_blas_zher2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1087:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2", rb_gsl_blas_zher2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
29 warnings and 4 errors generated.
make: *** [blas2.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/gsl-2.1.0.3 for inspection.
Results logged to /Users/devalias/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-darwin-23/2.7.0-static/gsl-2.1.0.3/gem_make.out

An error occurred while installing gsl (2.1.0.3), and Bundler cannot continue.
Make sure that `gem install gsl -v '2.1.0.3' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  gsl

There seemed to be 4 errors, all of the same type:

blas2.c:1084:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2!", rb_gsl_blas_dsyr2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1085:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2", rb_gsl_blas_dsyr2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1086:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2!", rb_gsl_blas_zher2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1042:118: note: expanded from macro 'RB_METHOD_DEFINITION_DECL_C'
    __attribute__((__unused__,__weakref__(#def),__nonnull__ nonnull))static void defname(RB_UNWRAP_MACRO decl,VALUE(*func)funcargs,int arity);
                                                                                                                     ^
blas2.c:1087:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long,
unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2", rb_gsl_blas_zher2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2825:135: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(klass, mid, func, arity) rb_define_module_function_choose_prototypem3((arity),(func))((klass),(mid),(func),(arity));
                                                                                                                                      ^~~~~~
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:2802:1: note: passing argument to parameter 'func' here
RB_METHOD_DEFINITION_DECL(rb_define_module_function, (2,3), (VALUE klass, const char *name), (klass, name))
^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1077:89: note: expanded from macro 'RB_METHOD_DEFINITION_DECL'
RB_METHOD_DEFINITION_DECL_1(def,nonnull,def##3 ,3 ,decl,vars,(VALUE,VALUE,VALUE,VALUE)) \
                                                                                        ^
/Users/devalias/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:1069:5: note: expanded from macro '\
RB_METHOD_DEFINITION_DECL_1'
    RB_METHOD_DEFINITION_DECL_C(def,nonnull,defname,decl,vars,funcargs) \
    ^

Which it seems we aren't the only person having this issue:

This approach was working for me running on macos Sonoma - but some update (Xcode? gcc? bundler?) has caused this this gem to stop working, and I can't reinstall it:

blas2.c:1084:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned
long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2!", rb_gsl_blas_dsyr2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:338:142: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
                                                                                                                                             ^~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:274:1: note: passing argument to parameter here
RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
^
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:259:72: note: expanded from macro 'RBIMPL_ANYARGS_DECL'
RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _04(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE, VALUE, VALUE), int); \
                                                                       ^
blas2.c:1085:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned
long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "dsyr2", rb_gsl_blas_dsyr2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:338:142: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
                                                                                                                                             ^~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:274:1: note: passing argument to parameter here
RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
^
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:259:72: note: expanded from macro 'RBIMPL_ANYARGS_DECL'
RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _04(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE, VALUE, VALUE), int); \
                                                                       ^
blas2.c:1086:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned
long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2!", rb_gsl_blas_zher2, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:338:142: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
                                                                                                                                             ^~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:274:1: note: passing argument to parameter here
RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
^
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:259:72: note: expanded from macro 'RBIMPL_ANYARGS_DECL'
RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _04(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE, VALUE, VALUE), int); \
                                                                       ^
blas2.c:1087:3: error: incompatible function pointer types passing 'VALUE (VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned
long)') to parameter of type 'VALUE (*)(VALUE, VALUE, VALUE, VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
  rb_define_module_function(module, "zher2", rb_gsl_blas_zher2_a, 4);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:338:142: note: expanded from macro 'rb_define_module_function'
#define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
                                                                                                                                             ^~~~~~
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:274:1: note: passing argument to parameter here
RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
^
/opt/homebrew/var/rbenv/versions/3.2.2/include/ruby-3.2.0/ruby/internal/anyargs.h:259:72: note: expanded from macro 'RBIMPL_ANYARGS_DECL'
RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _04(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE, VALUE, VALUE), int); \
                                                                       ^
2 warnings and 4 errors generated.
make: *** [blas2.o] Error 1

make failed, exit code 2

Gem files will remain installed in /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/rb-gsl-103a3e1941e2 for inspection.
Results logged to /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/extensions/arm64-darwin-23/3.2.0/rb-gsl-103a3e1941e2/gem_make.out

  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:119:in `run'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:51:in `block in make'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:43:in `each'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:43:in `make'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:41:in `build'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:187:in `build_extension'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:221:in `block in build_extensions'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:218:in `each'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/ext/builder.rb:218:in `build_extensions'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/installer.rb:843:in `build_extensions'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/rubygems_gem_installer.rb:72:in `build_extensions'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/source/path/installer.rb:28:in `post_install'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/source/path.rb:244:in `generate_bin'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/source/git.rb:202:in `install'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/installer/gem_installer.rb:54:in `install'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/installer/parallel_installer.rb:156:in `do_install'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/installer/parallel_installer.rb:147:in `block in worker_pool'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/worker.rb:62:in `apply_func'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/worker.rb:57:in `block in process_queue'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/worker.rb:54:in `loop'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/worker.rb:54:in `process_queue'
  /opt/homebrew/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/bundler-2.4.16/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

An error occurred while installing gsl (2.1.0.3), and Bundler cannot continue.

In Gemfile:
  gsl

Anybody else have a similar issue?

Originally posted by @dgdosen in SciRuby/rb-gsl#67 (comment)

Initially I had just done a brew install gsl, which gave me version 2.8; but looking closer at the notes in my Gemfile it said to try brew install [email protected]:

# ..snip..

# LSI (related posts)
# Note: You need to install one of nmatrix or narray first, and export NMATRIX=1 or NARRAY=1 before running bundle install
# otherwise gsl won't use them. Note that you can only use one or the other, not both.
#   see https://github.com/SciRuby/rb-gsl#nmatrix-and-narray-usage
#
# Both of these seem to be extremely outdated, see:
#   https://github.com/0xdevalias/devalias.net/issues/83
#   https://github.com/jekyll/classifier-reborn/issues/192
#   https://github.com/SciRuby/rb-gsl/issues/63
gem 'nmatrix'
gem 'gsl' # Note: you need to install a compatible version (eg. 2.1) of gsl first: brew install [email protected]
gem 'classifier-reborn'

# ..snip..

Which unfortunately no longer works:

⇒ brew install [email protected]
Warning: No available formula with the name "[email protected]".
==> Searching for similarly named formulae and casks...
Error: No formulae or casks found for [email protected].

The referenced issue links from the Gemfile:

It seems rb-gsl only compatible up to gsl 2.1 as well:


There are some instructions for building gsl on macOS without homebrew here:

  • https://gist.github.com/TysonRayJones/af7bedcdb8dc59868c7966232b4da903#osx
    • though installing it manually is just as simple, which we now describe.

      Download gsl-latest.tar.gz from the GSL ftp site and unzip it anywhere (e.g. /Downloads)
      Open the unzipped gsl folder in Terminal (e.g. cd ~/Downloads/gsl-2.4
      Run sudo ./configure && make && make install

      If the above gives a "permission denied" error, instead try

      sudo make clean
      sudo chown -R $USER .
      ./configure && make
      make install
      

We can see the latest version of the homebrew formula here:

And it's history here:

Though the first 2.x version listed there seems to be 2.2, so I guess we can't just copy the old brew build version:

Since the only thing that changed from the 1.x build was the source download link though.. maybe we could do it fairly easily.. with something like this:

class GslAT21 < Formula
  desc "Numerical library for C and C++"
  homepage "https://www.gnu.org/software/gsl/"
  url "https://ftp.gnu.org/gnu/gsl/gsl-2.1.tar.gz"
  mirror "https://ftpmirror.gnu.org/gsl/gsl-2.1.tar.gz"
  sha256 "59ad06837397617f698975c494fe7b2b698739a59e2fcf830b776428938a0c66"
  license "GPL-3.0-or-later"

  def install
    ENV.deparallelize
    system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
    system "make" # A GNU tool which doesn't support just make install! Shameful!
    system "make", "install"
  end

  test do
    system bin/"gsl-randist", "0", "20", "cauchy", "30"
  end
end

Saved in:

Then we could install it like this:

⇒ HOMEBREW_NO_INSTALL_FROM_API=1 brew info [email protected]
==> [email protected]: stable 2.1
Numerical library for C and C++
https://www.gnu.org/software/gsl/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/g/[email protected]
License: GPL-3.0-or-later

⇒ HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
==> Fetching [email protected]
==> Downloading https://ftp.gnu.org/gnu/gsl/gsl-2.1.tar.gz
############################################################################################################################################ 100.0%
==> ./configure
==> make
==> make install
🍺  /usr/local/Cellar/[email protected]/2.1: 257 files, 8.1MB, built in 4 minutes 48 seconds
==> Running `brew cleanup [email protected]`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

⇒ gsl-config --version
2.1

After which we could go back and see if rb-gsl can install now... but alas it cannot, and still gets the same errors from before.


Exploring this issue more:

⇒ clang --version
Apple clang version 15.0.0 (clang-1500.3.9.4)
Target: x86_64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

In the clang 15 docs it doesn't say it can be disabled:

But in clang 16 it does:

ChatGPT claims I should be able to pass that through like this:

CFLAGS="-Wno-incompatible-function-pointer-types" gem install gsl -v '2.1.0.3' --source 'https://rubygems.org/'

But when I tried I still got the same errors.

Not sure if that is because I'm passing it through wrong, the 'opt out' flag doesn't exist on clang 15, or if it just won't work as a solution at all.

Originally posted by @0xdevalias in SciRuby/rb-gsl#68 (comment)

Originally posted by @0xdevalias in SciRuby/rb-gsl#67 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant