[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GSL in octave
From: |
Tatsuro MATSUOKA |
Subject: |
Re: GSL in octave |
Date: |
Sun, 17 Jul 2016 11:55:31 +0900 (JST) |
> From: Susi Lehtola
> To: octave-maintainers> Cc:
> Date: 2016/7/17, Sun 09:35
> Subject: Re: GSL in octave
>
> On 07/15/2016 11:06 AM, Susi Lehtola wrote:
>> On 07/15/2016 04:44 AM, Julien Bect wrote:
>>> Le 15/07/2016 à 13:22, Carnë Draug a écrit :
>>> Alternatively, you can make a public clone of the hg repo (e.g., on
>>> Sourceforge), prepare your changesets there, and then make a pull
>>> request (on the patch tracker and/or on the maintainers list).
>>
>> Oh that's great. I can get to work in it then.
>
> OK, a new version available at
> https://sourceforge.net/u/jussilehtola/octave/ci/default/tree/
>
> and some testing would be welcome. I rewrote part of the wrappers, since they
> were duplicating code.
>
> In addition to the Laguerre polynomials, I also added:
>
> betainc_gsl, choose, conicalP_cyl_reg, conicalP_sph_reg, debye_5,
> debye_6, dilog, doublefact, ellint_D, ellint_E, ellint_F, ellint_P,
> ellint_Pcomp, ellint_RC, ellint_RD, ellint_RF, ellint_RJ, factorial_gsl,
> gegenpoly_n, hydrogenicR, hyperg_1F1_int, hyperg_U_int, lnchoose,
> lnfact, lndoublefact, mathieu_a, mathieu_b, mathieu_ce, mathieu_se,
> mathieu_Mc, mathieu_Ms
> -- Susi Lehtola
> Fedora Project Contributor
> address@hidden
Results on Ubuntu 14.04 LTS amd64
gsl 1.16-1 and its dev from ubuntu repo.
$ hg clone http://hg.code.sf.net/u/jussilehtola/octave u-jussilehtola-octave
$ cd u-jussilehtola-octave/src
$ ./bootstrap
Archived the directory u-jussilehtola-octave as gsl-test.tar.gz
start octave-cli with LANG=C (to get English message).
>> cd (directory where gsl-test.tar.gz exist)
>> pkg install -verbose gsl-test.tar.gz
Output (suggesting errors)
*************************************************************************************
mkdir (/tmp/oct-nzJEBd)
untar (gsl-test.tar.gz, /tmp/oct-nzJEBd)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for mkoctfile... /opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose
g++ -c -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 conftest.cc -o conftest.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 conftest.oct conftest.o
-L/opt/octave/4.0.3/lib/octave/4.0.3 -L/opt/octave/4.0.3/lib -loctinterp
-loctave
retrieving compile and link flags from /opt/octave/4.0.3/bin/mkoctfile-4.0.3
--verbose
checking for F77_FUNC... g++ -c -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 conftest.cc -o conftest.o
yes
checking for octave... /opt/octave/4.0.3/bin/octave-4.0.3
checking for OCTAVE_VERSION in Octave... 4.0.3
checking for octave_config_info('canonical_host_type') in Octave...
x86_64-pc-linux-gnu
checking for octave_config_info('SHLEXT') in Octave... so
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for strip... strip
checking for gsl_message in -lgsl... yes
checking for gsl_sf_hazard in -lgsl... yes
checking for gsl_sf_gamma_inc in -lgsl... yes
configure: creating ./config.status
config.status: creating Makeconf
"$prefix" is /home/tatsuro/octave/gsl-1.2.0
"$exec_prefix" is ${prefix}
octave commands will install into the following directories:
m-files: /opt/octave/4.0.3/share/octave/4.0.3/site/m/octave-forge
oct-files:
/opt/octave/4.0.3/lib/octave/4.0.3/site/oct/x86_64-pc-linux-gnu/octave-forge
binaries:
/opt/octave/4.0.3/libexec/octave/4.0.3/site/exec/x86_64-pc-linux-gnu
alternatives:
m-files:
/opt/octave/4.0.3/share/octave/4.0.3/site/octave-forge-alternatives/m
oct-files:
/opt/octave/4.0.3/lib/octave/4.0.3/site/octave-forge-alternatives/oct/x86_64-pc-linux-gnu
shell commands will install into the following directories:
binaries: ${exec_prefix}/bin
man pages: ${datarootdir}/man
libraries: ${exec_prefix}/lib
headers: ${prefix}/include
octave-forge is configured with
octave: /opt/octave/4.0.3/bin/octave-4.0.3 (version 4.0.3)
mkoctfile: /opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose for Octave 3
GSL toolbox: yes
find . -name NOINSTALL -print # shows which toolboxes won't be installed
make: Entering directory `/tmp/oct-nzJEBd/u-jussilehtola-octave/src'
/bin/bash buildgsl_sf.sh
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v
coupling_3j.cc -lgsl
g++ -c -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 coupling_3j.cc -o coupling_3j.o
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v
coupling_6j.cc -lgsl
g++ -c -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 coupling_6j.cc -o coupling_6j.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 coupling_3j.oct
coupling_3j.o -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3
-L/opt/octave/4.0.3/lib -loctinterp -loctave
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v
coupling_9j.cc -lgsl
g++ -c -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 coupling_9j.cc -o coupling_9j.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 coupling_6j.oct
coupling_6j.o -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3
-L/opt/octave/4.0.3/lib -loctinterp -loctave
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v
legendre_sphPlm_array.cc -lgsl
g++ -c -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 legendre_sphPlm_array.cc -o
legendre_sphPlm_array.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 coupling_9j.oct
coupling_9j.o -lgsl -L/opt/octave/4.0.3/lib/octave/4.0.3
-L/opt/octave/4.0.3/lib -loctinterp -loctave
/opt/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_OCTAVE_40 -v gsl_sf.cc
-lgsl
g++ -c -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:4628:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(i)), x.xelem(i), &result[i]);
^
gsl_sf.cc:4632:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(i)), x.xelem(0), &result[i]);
^
gsl_sf.cc:4636:74: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(0)), x.xelem(i), &result[i]);
^
gsl_sf.cc:4639:79: error: 'gsl_sf_mathieu_a_e' was not declared in this scope
gsl_sf_mathieu_a_e (static_cast<int>(n.xelem(0)), x.xelem(0), &result[0]);
^
gsl_sf.cc: In function 'octave_value_list Fmathieu_b(const octave_value_list&,
int)':
gsl_sf.cc:4721:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(i)), x.xelem(i), &result[i]);
^
gsl_sf.cc:4725:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(i)), x.xelem(0), &result[i]);
^
gsl_sf.cc:4729:74: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(0)), x.xelem(i), &result[i]);
^
gsl_sf.cc:4732:79: error: 'gsl_sf_mathieu_b_e' was not declared in this scope
gsl_sf_mathieu_b_e (static_cast<int>(n.xelem(0)), x.xelem(0), &result[0]);
^
gsl_sf.cc: In function 'octave_value_list Fellint_D(const octave_value_list&,
int)':
gsl_sf.cc:8060:66: error: invalid conversion from 'gsl_sf_result* {aka
gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
gsl_sf_ellint_D_e (n.xelem(i), x.xelem(i), mode, &result[i]);
^
gsl_sf.cc:8060:66: error: too few arguments to function 'int
gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
^
gsl_sf.cc:8064:66: error: invalid conversion from 'gsl_sf_result* {aka
gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
gsl_sf_ellint_D_e (n.xelem(i), x.xelem(0), mode, &result[i]);
^
gsl_sf.cc:8064:66: error: too few arguments to function 'int
gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
^
gsl_sf.cc:8068:66: error: invalid conversion from 'gsl_sf_result* {aka
gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
gsl_sf_ellint_D_e (n.xelem(0), x.xelem(i), mode, &result[i]);
^
gsl_sf.cc:8068:66: error: too few arguments to function 'int
gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
^
gsl_sf.cc:8071:64: error: invalid conversion from 'gsl_sf_result* {aka
gsl_sf_result_struct*}' to 'gsl_mode_t {aka unsigned int}' [-fpermissive]
gsl_sf_ellint_D_e (n.xelem(0), x.xelem(0), mode, &result[0]);
^
gsl_sf.cc:8071:64: error: too few arguments to function 'int
gsl_sf_ellint_D_e(double, double, double, gsl_mode_t, gsl_sf_result*)'
In file included from /usr/include/gsl/gsl_sf.h:17:0,
from gsl_sf.cc:21:
/usr/include/gsl/gsl_sf_ellint.h:84:5: note: declared here
int gsl_sf_ellint_D_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_r
^
gsl_sf.cc: In function 'octave_value_list Fmathieu_ce(const octave_value_list&,
int)':
gsl_sf.cc:10376:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:10387:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:10398:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:10409:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:10416:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:10423:37: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:10429:42: error: 'gsl_sf_mathieu_ce_e' was not declared in this scope
n.xelem(0), x.xelem(0), &result[0]);
^
gsl_sf.cc: In function 'octave_value_list Fmathieu_se(const octave_value_list&,
int)':
gsl_sf.cc:10518:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:10529:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:10540:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:10551:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:10558:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:10565:37: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:10571:42: error: 'gsl_sf_mathieu_se_e' was not declared in this scope
n.xelem(0), x.xelem(0), &result[0]);
^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Mc(const octave_value_list&,
int)':
gsl_sf.cc:11480:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11492:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11504:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11516:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11528:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11540:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11552:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11564:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11572:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11580:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11587:37: error: 'gsl_sf_mathieu_Mc_e' was not declared in this scope
n.xelem(0), x.xelem(0), &result[0]);
^
gsl_sf.cc: In function 'octave_value_list Fmathieu_Ms(const octave_value_list&,
int)':
gsl_sf.cc:11683:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11695:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11707:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11719:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11731:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11743:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11755:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11767:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(i), &result[i]);
^
gsl_sf.cc:11775:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(i), x.xelem(0), &result[i]);
^
gsl_sf.cc:11783:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(0), x.xelem(i), &result[i]);
^
gsl_sf.cc:11790:37: error: 'gsl_sf_mathieu_Ms_e' was not declared in this scope
n.xelem(0), x.xelem(0), &result[0]);
^
make: *** [gsl_sf.oct] Error 1
make: Leaving directory `/tmp/oct-nzJEBd/u-jussilehtola-octave/src'
pkg: error running `make' for the gsl package.
error: called from 'configure_make' in file
/opt/octave/4.0.3/share/octave/4.0.3/m/pkg/private/configure_make.m near line
96, column 9
*************************************************************************************
Tasuro
- GSL in octave, julian, 2016/07/11
- Re: GSL in octave, julian, 2016/07/11
- Re: GSL in octave, Marco Atzeri, 2016/07/11
- Re: GSL in octave, Susi Lehtola, 2016/07/15
- Re: GSL in octave, Marco Atzeri, 2016/07/15
- Re: GSL in octave, Carnë Draug, 2016/07/15
- Re: GSL in octave, Julien Bect, 2016/07/15
- Re: GSL in octave, Susi Lehtola, 2016/07/15
- Re: GSL in octave, Susi Lehtola, 2016/07/16
- Re: GSL in octave,
Tatsuro MATSUOKA <=
- Re: GSL in octave, Tatsuro MATSUOKA, 2016/07/17
- Re: GSL in octave, Susi Lehtola, 2016/07/17
- Re: GSL in octave, Tatsuro MATSUOKA, 2016/07/17
- Re: GSL in octave, Tatsuro MATSUOKA, 2016/07/17
- Re: GSL in octave, Tatsuro MATSUOKA, 2016/07/17
- Re: GSL in octave, Julien Bect, 2016/07/17
- Re: GSL in octave, Susi Lehtola, 2016/07/17
- Re: GSL in octave, Marco Atzeri, 2016/07/17
- Re: GSL in octave, Tatsuro MATSUOKA, 2016/07/17
- Re: GSL in octave, Susi Lehtola, 2016/07/17