Hi Dirk, 2016-12-19 23:58 GMT+01:00 Dirk Eddelbuettel <e...@debian.org>: > > Hi Balint, > > On 19 December 2016 at 13:57, Bálint Réczey wrote: > | Hi Dirk, > | > | 2016-12-19 0:30 GMT+01:00 Dirk Eddelbuettel <e...@debian.org>: > | > > | > On 10 November 2016 at 13:22, Balint Reczey wrote: > | > | Control: reassign -1 gsl 2.2.1+dfsg-1 > | > | Control: affects -1 ruby-gsl > | > | > | > | > | > | Hi Dirk, > | > | > | > | It seems ruby-gsl is missing some deprecated functions. > | > | Please re-enable debian/patches/dont-disable-deprecated to let ruby-gsl > | > | build again. > | > > | > Well I could -- but according to https://github.com/SciRuby/rb-gsl a > current > | > ruby-gsl exists. > | > > | > Why are we stuck with the 1.* series? Should we not port forward? > | > | I tried updating to 2.1.0 but it still uses deprecated functions, > | hence the reassignment. > > Well I'd rather not. I think upstream would rather see a plainer versions. > > Can you detail what is missing? > > Also see https://github.com/SciRuby/rb-gsl/blob/master/ChangeLog#L3-L7 which > says > > == Fri March 4 2016 > * Added compatibility for NMatrix interconversion with GSL::Vector and > GSL::Matrix > * Added NMatrix compatibility to various to make them compatible with NMatrix > data types. > * Gem is now compatible with GSL 2.1. > * Version bump to 2.1.0 > > Sounds to me it should work with our version.
Ruby-gsl is compatible with GSL 2.1 when deprecated symbols are not disabled in GSL. I have started removing references to them with gsl_sf_legendre_array_size(), but then the next one build is failing with is gsl_sf_legendre_sphPlm_array() : ... *** running test/gsl_test.rb *** /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': /<<BUILDDIR>>/ruby-gsl-2.1.0+dfsg1/debian/ruby-gsl/usr/lib/i386-linux-gnu/ruby/vendor_ruby/2.3.0/gsl_native.so: undefined symbol: gsl_sf_legendre_sphPlm_array - /<<BUILDDIR>>/ruby-gsl-2.1.0+dfsg1/debian/ruby-gsl/usr/lib/i386-linux-gnu/ruby/vendor_ruby/2.3.0/gsl_native.so (LoadError) from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /<<BUILDDIR>>/ruby-gsl-2.1.0+dfsg1/debian/ruby-gsl/usr/lib/ruby/vendor_ruby/gsl.rb:11:in ... I used the attached patch on top of https://anonscm.debian.org/cgit/pkg-ruby-extras/ruby-gsl.git master . IMO since ruby-gsl 2.1 provides the symbols which are deprecated in GSL unconditionally I can't remove them from ruby-gsl's API thus ruby-gsl needs deprecated GSL functions to be provided by GSL. I understand that upstreams would like to see code migrating from the deprecated functionality fast, but immediate removal is not the best for users IMO. Cheers, Balint > > Dirk > > | > | Cheers, > | Balint > | > | > > | > Dirk > | > > | > | Cheers, > | > | Balint > | > | > | > | On Fri, 21 Oct 2016 15:37:05 +0200 Lucas Nussbaum <lu...@debian.org> > wrote: > | > | > Source: ruby-gsl > | > | > Version: 1.16.0.6+dfsg1-2 > | > | > Severity: serious > | > | > Tags: stretch sid > | > | > User: debian...@lists.debian.org > | > | > Usertags: qa-ftbfs-20161021 qa-ftbfs > | > | > Justification: FTBFS on amd64 > | > | > > | > | > Hi, > | > | > > | > | > During a rebuild of all packages in sid, your package failed to build > on > | > | > amd64. > | > | > > | > | > Relevant part (hopefully): > | > | > > /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in > `require': > /<<BUILDDIR>>/ruby-gsl-1.16.0.6+dfsg1/debian/ruby-gsl/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0/gsl_native.so: > undefined symbol: gsl_sf_legendre_array_size - > /<<BUILDDIR>>/ruby-gsl-1.16.0.6+dfsg1/debian/ruby-gsl/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.3.0/gsl_native.so > (LoadError) > | > | > > from > /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' > | > | > > from > /<<BUILDDIR>>/ruby-gsl-1.16.0.6+dfsg1/debian/ruby-gsl/usr/lib/ruby/vendor_ruby/gsl.rb:6:in > `<top (required)>' > | > | > > from > /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' > | > | > > from > /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' > | > | > > from test_helper.rb:2:in `<main>' > | > | > > ERROR: Test "ruby2.3" failed: > | > | > > | > > | > -- > | > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org > > -- > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
From ac2dacf69b8dd571dfb96b8b9fa551ff9daf0e5f Mon Sep 17 00:00:00 2001 From: Balint Reczey <bal...@balintreczey.hu> Date: Thu, 10 Nov 2016 13:05:13 +0100 Subject: [PATCH] WIP: Fix FTBFS due to missing gsl_sf_legendre_array_size The function is deprecated in GSL. Closes: #841611 --- .../patches/gsl_sf_legendre_array_size_impl.patch | 31 ++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 32 insertions(+) create mode 100644 debian/patches/gsl_sf_legendre_array_size_impl.patch diff --git a/debian/patches/gsl_sf_legendre_array_size_impl.patch b/debian/patches/gsl_sf_legendre_array_size_impl.patch new file mode 100644 index 0000000..70241d0 --- /dev/null +++ b/debian/patches/gsl_sf_legendre_array_size_impl.patch @@ -0,0 +1,31 @@ +diff --git a/ext/gsl_native/sf_legendre.c b/ext/gsl_native/sf_legendre.c +index 5a9470e..233cb6d 100644 +--- a/ext/gsl_native/sf_legendre.c ++++ b/ext/gsl_native/sf_legendre.c +@@ -119,7 +119,7 @@ static VALUE rb_gsl_sf_legendre_Plm_array(VALUE obj, VALUE lmax, VALUE m, VALUE + Need_Float(x); + ll = FIX2INT(lmax); + mm = FIX2INT(m); +- size = gsl_sf_legendre_array_size(ll, mm); ++ size = ll - mm + 1; + v = gsl_vector_alloc(size); + gsl_sf_legendre_Plm_array(ll, mm, NUM2DBL(x), v->data); + return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v); +@@ -151,7 +151,7 @@ static VALUE rb_gsl_sf_legendre_sphPlm_array(VALUE obj, VALUE lmax, VALUE m, VAL + Need_Float(x); + ll = FIX2INT(lmax); + mm = FIX2INT(m); +- size = gsl_sf_legendre_array_size(ll, mm); ++ size = ll - mm + 1; + v = gsl_vector_alloc(size); + gsl_sf_legendre_sphPlm_array(ll, mm, NUM2DBL(x), v->data); + return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v); +@@ -160,7 +160,7 @@ static VALUE rb_gsl_sf_legendre_sphPlm_array(VALUE obj, VALUE lmax, VALUE m, VAL + static VALUE rb_gsl_sf_legendre_array_size(VALUE obj, VALUE lmax, VALUE m) + { + CHECK_FIXNUM(lmax); CHECK_FIXNUM(m); +- return INT2FIX(gsl_sf_legendre_array_size(FIX2INT(lmax), FIX2INT(m))); ++ return INT2FIX(FIX2INT(lmax) - FIX2INT(m) + 1); + } + + static VALUE rb_gsl_sf_conicalP_half(VALUE obj, VALUE lambda, VALUE x) diff --git a/debian/patches/series b/debian/patches/series index 01444c8..e758426 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ #gsl2_special_functions.patch #gsl2_tamu_anova.patch #skip_failing_tests_precision.patch +gsl_sf_legendre_array_size_impl.patch -- 2.1.4