bugGNU Octave - Bugs: bug #48557, [octave forge] (gsl) DESCRIPTION...

 
 

bug #48557: [octave forge] (gsl) DESCRIPTION gives no indication of supported GSL versions

Submitter:  Julien Bect <jbect>
Submitted:  Tue 19 Jul 2016 06:19:44 AM UTC
   
 
Category:  Octave Package Severity:  1 - Wish
Priority:  5 - Normal Item Group:  Feature Request
Status:  None Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 31 Jul 2016 03:48:06 PM UTC, comment #14: 

Ok, so currently we know that the dev version f the package can be built with GSL 1.13 (with some missing functions, but it's ok).

Does anybody has any clue about the oldest GSL version that can be used?

Julien Bect <jbect>
Thu 21 Jul 2016 06:03:43 AM UTC, comment #13: 

Yes some quotes were missing, I put them in yesterday or the day before and was then able to build with Octave 4.4.x and GSL 1.13 in Red Hat Enterprise 6, even though e.g. the Mathieu functions were missing. My trunk built as-is.

Susi Lehtola <jussilehtola>
Thu 21 Jul 2016 05:47:14 AM UTC, comment #12: 

Ok, I added the missing quotes and it seems to work fine now.

So, I can report a successful build + test (test_gsl_sf) on Debian Wheezy (Octave 3.6.2 and GSL 1.15).

Julien Bect <jbect>
Thu 21 Jul 2016 05:40:54 AM UTC, comment #11: 

@Susi: sorry, but I don't see quotes around $GSL_MISSING on repo either.

You're referring I believe to the quotes that you added on this line of bootstrap:

for((i=0;i<${#funcnames[@]};i++)); do
    echo "  OF_CHECK_LIB(gsl, ${gslfuncs[i]}_e,,GSL_MISSING=\"\${GSL_MISSING} ${funcnames[i]}\",-lgslcblas)" >> configure.in
done

but I think it's not enough.

Julien Bect <jbect>
Thu 21 Jul 2016 01:16:45 AM UTC, comment #10: 

Now gsl package can be installed octave-4.0.3 on Ubuntu 14.04 LTS amd64 with gsl-1.16 and gsl-2.1.

Thanks!

Tatsuro MATSUOKA <tmacchant>
Wed 20 Jul 2016 11:20:56 PM UTC, comment #9: 

You didn't use the current version. Those have been days ago.

Susi Lehtola <jussilehtola>
Wed 20 Jul 2016 08:16:35 PM UTC, comment #8: 

It also builds fine on Debian Wheezy (old stable) which has Octave 3.6.2 and GSL 1.15, with a few missing functions (mathieu_a, mathieu_b, mathieu_ce, mathieu_se, mathieu_Mc and mathieu_Ms).

And with just a tiny problem in configure, that I haven't seen on more recent distributions:

./configure: line 10369: test: too many arguments

Line 10369 corresponds to

if test -z $GSL_MISSING; then

I think it's just missing quotes around $GSL_MISSING.

Julien Bect <jbect>
Tue 19 Jul 2016 05:57:28 PM UTC, comment #7: 

The makefiles were still broken as I had suspected a few days ago. The list of missing functions from configure was not getting passed to the scripts.

Everything should now be fixed in this respect. I've succesfully built the package both with Octave 4.0.1 & GSL 2.1, as well as Octave 3.4.3 & GSL 1.13.

Susi Lehtola <jussilehtola>
Tue 19 Jul 2016 10:48:06 AM UTC, comment #6: 

@Tatsuro: thank you for this.

The remaining errors concern a limited number of functions, that were recently added by Susi.

If these are the only function impacted bu the 1.x/2.x transition, perhaps can we do something about it to maintain support for 1.x ...

Julien Bect <jbect>
Tue 19 Jul 2016 10:10:29 AM UTC, comment #5: 

Sorry not gsl-1.6 but gsl 1.16.

Tatsuro MATSUOKA <tmacchant>
Tue 19 Jul 2016 10:09:24 AM UTC, comment #4: 

I have cloned the recent  gsl repo. and execute make dist
then gsl-1.1.0.tar.gz is generated.

I have used gsl library from ubuntu repo. (gsl-1.6)
and tried pkg install.
The number of errors is reduced but I still have met an error


g++ -c -I/usr/include -fPIC -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2    -DHAVE_OCTAVE_40 gsl_sf.cc -o gsl_sf.o
g++ -I/opt/octave/4.0.3/include/octave-4.0.3/octave/.. -I/opt/octave/4.0.3/include/octave-4.0.3/octave -I/opt/octave/4.0.3/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic  -o legendre_sphPlm_array.oct  legendre_sphPlm_array.o   -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp -loctave
gsl_sf.cc: In function 'octave_value_list Fmathieu_a(const octave_value_list&, int)':
gsl_sf.cc:5227:32: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
                      &result[i]);
                                ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_b(const octave_value_list&, int)':
gsl_sf.cc:5311:32: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
                      &result[i]);
                                ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_ce(const octave_value_list&, int)':
gsl_sf.cc:10483:32: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
                      &result[i]);
                                ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_se(const octave_value_list&, int)':
gsl_sf.cc:10578:32: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
                      &result[i]);
                                ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Mc(const octave_value_list&, int)':
gsl_sf.cc:11196:32: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
                      &result[i]);
                                ^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Ms(const octave_value_list&, int)':
gsl_sf.cc:11308:32: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
                      &result[i]);
                                ^
make: *** [gsl_sf.oct] Error 1


The situation is improved but seem not to be complete yet.

Tatsuro MATSUOKA <tmacchant>
Tue 19 Jul 2016 08:39:39 AM UTC, comment #3: 

@Tatsuro:

In the results of your first attempt there two types of problems.  One is missing functions, that hopefully should be solved now by configure checks.  The other one is related 1.x/2.x API changes, and should still be here.

Could you please try again on Ubutun 14.04 with the latest dev version of the gsl package (just clone the OF hg repo and use "make dist" to produce a tarball)?  It would give an indication of the amount of work required to support GSL 1.16.

Julien Bect <jbect>
Tue 19 Jul 2016 08:25:57 AM UTC, comment #2: 

I have reported I failed build gsl package with gsl-1.16 on ubuntu.

http://octave.1599824.n4.nabble.com/GSL-in-octave-td4678376.html#a4678584

Then I have built gsl-2.1 and errors disappeared.

Tatsuro MATSUOKA <tmacchant>
Tue 19 Jul 2016 06:29:12 AM UTC, comment #1: 

@Susi: I see that you have started to use GSL_MAJOR_VERSION in legendre_sphPlm_array.cc to support both GSL 2.x and GSL 1.x.

Do you have an idea of the number of functions that have been affected by API-breaking changes in the transition to 2.x?

My concern is that GSL 2.x is a rather recent release branch.  Unless the number of affected functions is really large, perhaps should we consider preserving compatibility with GSL 1.x?

Julien Bect <jbect>
Tue 19 Jul 2016 06:19:44 AM UTC, original submission:  

The gsl package is currently marked as unmaintained, but there is some ongoing work to produce a new release, started on this thread of the mailing list:

http://octave.1599824.n4.nabble.com/GSL-in-octave-tp4678376p4678513.html

This bug report should be used for all discussions concerning the dependency on the gsl library.

a) Which version of the GSL library should we indicate as a minimal requirement in the BuildRequires field of DESCRIPTION?  None is indicated in the current (hg repo) DESCRIPTION.

b) How do we check in configure that this minimal requirement is met?  Do we simply check for each individual function?  Do we include a hard test on the GSL version number?

c) GSL 2.0 was released in 2015/10 and brings a number of API-breaking changes.  Can we support both 1.x and 2.x, or is it too much work?

Julien Bect <jbect>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Updated the item)
  • -email is unavailable- added by jussilehtola (Posted a comment)
  • -email is unavailable- added by tmacchant (Posted a comment)
  • -email is unavailable- added by jbect
  • -email is unavailable- added by jbect (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-26 mtmiller Severity3 - Normal 1 - Wish
        Item GroupNone Feature Request
        Release4.0.3 dev
    2017-08-13 jwe Summarygsl: DESCRIPTION gives no indication of supported GSL versions [octave forge] (gsl) DESCRIPTION gives no indication of supported GSL versions
    2016-07-19 jbect Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code