GithubHelp home page GithubHelp logo

reinh-bader / fgsl Goto Github PK

View Code? Open in Web Editor NEW
82.0 11.0 23.0 21.8 MB

Fortran interface to the GNU Scientific Library

Home Page: https://doku.lrz.de/display/PUBLIC/FGSL+-+A+Fortran+interface+to+the+GNU+Scientific+Library

License: GNU General Public License v2.0

Fortran 88.84% C 8.84% Makefile 1.40% M4 0.92%
gsl gsl-library c-interop scientific-computing

fgsl's Introduction

This is release 1.6.0 of the Fortran interface 
to the GNU Scientific Library. 
It is based on version 2.7 of GSL, and should not be used with 
earlier GSL releases.

Please use the release 1.0.0 in combination with GSL 1.x
Please use the release 1.1.0 in combination with GSL 2.1 or 2.2.1
Please use the release 1.2.0 in combination with GSL 2.3
Please use the release 1.3.0 in combination with GSL 2.4
Please use the release 1.4.0 in combination with GSL 2.5
Please use the release 1.5.0 in combination with GSL 2.6

Please consult the NEWS file for a change log.

License:
~~~~~~~~

FGSL is released under Version 2 or later of the GPL.

Installation procedure:
~~~~~~~~~~~~~~~~~~~~~~~

(A) prerequisites:

 1. An installation of GSL libraries and include files.
    Note that newer distributions may put libraries and 
    includes into different packages e.g., gsl and gsl-devel.
    For building FGSL, both must be installed.
 2. The ANSI C compiler used to build the GSL installation
 3. A Fortran compiler that supports C interop.

(B) autoconf setup:
This section applies only if you have downloaded the github
repository. Use of autoconf version 2.69 or higher and m4 1.4.16 or 
higher is recommended. Generate the configure script with
mkdir m4
autoreconf -i
After updating the same repository it may be necessary to issue
autoreconf
(without an additional option)

(C) build procedure:
this has changed due to introduction of an autoconf based system
(thanks to Tom Schoonjans for contributing this)

export FC=<fortran compiler command>
export FCFLAGS=<additional Fortran flags>
export gsl_LIBS=<gsl library link line>
export PKG_CONFIG_PATH=<lib/pkgconfig directory in which gsl.pc resides>
./configure

    Furthermore, the configure script allows the user to enable several
    options, such as --prefix=<my_installation_location>

    For a list of all available options run:
    ./configure --help

    NOTES: 
    * for supporting different compilers with a single GSL 
      installation it is recommended to specify the following

      ./configure --prefix=<path to gsl install> \
                  --libdir=<path to gsl install>/lib/$FC \
                  --includedir=<path to gsl install>/include/$FC

    * path names containing blanks are not supported.
  

make
    Builds the module information file and static as well
    as shared libraries.
    Testing can be performed by doing

make check
    This runs a number of tests. Please check for failures and
    report to the indicated mail address.    
    For a debug version of the library using a debug build of GSL
    is recommended. Furthermore, if the GSL installation contains 
    shared libraries, you may need add an entry to LD_LIBRARY_PATH
    pointing to the lib subdirectory of the GSL installation before
    running the tests. If you use GSL static libraries, these 
    probably require to be built with -fPIC, otherwise libtool
    will fail to link your executables.

make install
    this installs the library as well as the documentation into 
    /usr/local or, if specified, the prefix path. 

make dist (or make distcheck)

    Generate distribution tarballs. The latter is preferred (but it 
    takes much longer), since it will also make sure everything builds 
    correctly and the examples run, as well as verify if no files are 
    left after make clean and make uninstall.


(D) usage:

It is recommended that you obtain the necessary flags to compile with FGSL support
through pkg-config:

$F90 -o myprog.exe $(pkg-config --cflags fgsl) myprog.f90 \
	$(pkg-config --libs fgsl)

Alternatively, libtool can also be used to link the executables.

Reporting Bugs etc.
~~~~~~~~~~~~~~~~~~~

Reporting of bugs and suggestions for extensions should be submitted by 
opening an issue on Github.

Releases:

  * 0.5: End of March, 2007 (revision 1636)
  * 0.6: End of April, 2007 (revision 1680)
  * 0.7: End of July, 2007 (revision 1809)
  * 0.8: Early October, 2007 (revision 1940)
  * 0.8.1: Early April, 2008 (revision 2282) 
  * 0.9: End of August, 2008 (revision 2578)
  * 0.9.1 Early September, 2009 (revision 3355)
  * 0.9.2 September 22, 2009 (revision 3380)
  * 0.9.3 May 01, 2010 (revision 4123)
  * 0.9.4 May 31, 2011 (revision 5233)
  --- Migrated to Sourceforge ---
  * 1.0.0: February 11, 2014 (revision 34)
  --- Migrated to Github ---
  * 1.1.0: February, 2016 
  * 1.2.0: January, 2017
  * 1.3.0: August, 2019
  * 1.4.0: March, 2021
  * 1.5.0: July, 2021
  * 1.6.0: March, 2024

fgsl's People

Contributors

alexmyczko avatar reinh-bader avatar tschoonj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fgsl's Issues

Compilation failure with GSL 2.1

Hello,

I get the following error on compilation :

gfortran -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c -o fgsl.o fgsl.F90
api/spmatrix.finc:75.36:
Included at fgsl.F90:1939:

call gsl_spmatrix_cumsum(n, c_loc(c))
1
Error: Assumed-shape array 'c' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/fit.finc:47.39:
Included at fgsl.F90:1934:

fgsl_fit_wmul = gsl_fit_wmul(c_loc(x), xstride, c_loc(w), wstride, &
                                   1

Error: Assumed-shape array 'x' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/fit.finc:38.37:
Included at fgsl.F90:1934:

fgsl_fit_mul = gsl_fit_mul(c_loc(x), xstride, c_loc(y), ystride, n, c1, &
                                 1

Error: Assumed-shape array 'x' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/fit.finc:23.45:
Included at fgsl.F90:1934:

fgsl_fit_wlinear = gsl_fit_wlinear(c_loc(x), xstride, c_loc(w), wstride, &
                                         1

Error: Assumed-shape array 'x' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/fit.finc:14.43:
Included at fgsl.F90:1934:

fgsl_fit_linear = gsl_fit_linear(c_loc(x), xstride, c_loc(y), ystride, n, c
                                       1

Error: Assumed-shape array 'x' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/dht.finc:34.52:
Included at fgsl.F90:1929:

fgsl_dht_apply = gsl_dht_apply(t%gsl_dht, c_loc(f_in), c_loc(f_out))
                                                1

Error: Assumed-shape array 'f_in' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:156.64:
Included at fgsl.F90:1928:

     gsl_wavelet2d_nstransform_inverse(w%gsl_wavelet, c_loc(data), &
                                                            1

Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:146.64:
Included at fgsl.F90:1928:

     gsl_wavelet2d_nstransform_forward(w%gsl_wavelet, c_loc(data), &
                                                            1

Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:136.80:
Included at fgsl.F90:1928:

gsl_wavelet2d_nstransform = gsl_wavelet2d_nstransform(w%gsl_wavelet, c_loc(data
1
Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:98.62:
Included at fgsl.F90:1928:

     gsl_wavelet2d_transform_inverse(w%gsl_wavelet, c_loc(data), &
                                                          1

Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:88.62:
Included at fgsl.F90:1928:

     gsl_wavelet2d_transform_forward(w%gsl_wavelet, c_loc(data), &
                                                          1

Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:78.76:
Included at fgsl.F90:1928:

fgsl_wavelet2d_transform = gsl_wavelet2d_transform(w%gsl_wavelet, c_loc(data
1
Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:68.88:
Included at fgsl.F90:1928:

let_transform_inverse = gsl_wavelet_transform_inverse(w%gsl_wavelet, c_loc(data
1
Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:59.88:
Included at fgsl.F90:1928:

let_transform_forward = gsl_wavelet_transform_forward(w%gsl_wavelet, c_loc(data
1
Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/wavelet.finc:50.72:
Included at fgsl.F90:1928:

fgsl_wavelet_transform = gsl_wavelet_transform(w%gsl_wavelet, c_loc(data), &
                                                                    1

Error: Assumed-shape array 'data' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:547.25:
Included at fgsl.F90:1924:

     t, t1, h, c_loc(y))
                     1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:519.15:
Included at fgsl.F90:1924:

     c_loc(y0), c_loc(yerr), c_loc(dydt), c_loc(h))
           1

Error: Assumed-shape array 'y0' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:491.15:
Included at fgsl.F90:1924:

     c_loc(scale_abs), size(scale_abs, kind=fgsl_size_t))
           1

Error: Assumed-shape array 'scale_abs' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:464.10:
Included at fgsl.F90:1924:

c_loc(y), c_loc(yerr), &
      1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:219.46:
Included at fgsl.F90:1924:

     dydt%gsl_odeiv2_system, t, h0, c_loc(y))
                                          1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:206.25:
Included at fgsl.F90:1924:

     t, t1, h, c_loc(y))
                     1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:163.56:
Included at fgsl.F90:1924:

     c%gsl_odeiv2_control, s%gsl_odeiv2_step, c_loc(y), c_loc(yerr), c_loc(
                                                    1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:128.15:
Included at fgsl.F90:1924:

     c_loc(scale_abs), size(scale_abs, kind=fgsl_size_t))
           1

Error: Assumed-shape array 'scale_abs' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ode.finc:102.10:
Included at fgsl.F90:1924:

c_loc(y), c_loc(yerr), c_loc(dydt_in), c_loc(dydt_out), dydt%gsl_odeiv2_sys
      1

Error: Assumed-shape array 'y' at (1) cannot be an argument to the procedure 'c_loc' because it is not C interoperable
api/ntuple.finc:33.34:
Included at fgsl.F90:1921:

        gsl_ntuple_open(c_loc(lname), data, size)
                              1

Error: CHARACTER argument 'lname' to 'c_loc' at (1) must have a length of 1
Fatal Error: Error count reached limit of 25.
make: *** [fgsl.o] Erreur 1

I tried with both the latest stable release (1.1.0) and the git master, same error.

gsl is version 2.1, compiled from the sources.

Please let me know if any other information is useful...

ifx build: test in linalg fails

build with ifx causes one test in linalg (fgsl_linalg_qrpt_lssolve2:x) to fail

Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2024.0.2 Build 20231213
OS: Ubuntu 20.04.6 LTS / executing under WSL 2

CPU usage issue

Hello, I am trying to use the fgsl linear algebra solver. I am running into issues with CPU usage when I run my program. I have used the example docs on your page to make the Fortran script linked below.
Issue: When I uncomment to solver section in the main script (lines 104 to 116 in main.F90) and run the program the CPU usage reaches astronomical levels! I am using “fgsl_splinalg_itersolve_iterate()” to solve the equation Au=f, where A is a 25920 by 25920 matrix and both u and f are 25920 length vectors. This equation is solved for each time step. I was just wondering if anyone else experienced similar issues with CPU usage when using fgsl/ is there a fix?
Minimal reproducible example found at: https://github.com/exoclim/ulmo/tree/main/MRE_fgsl/src

FGSL fails to build against GSL >2.0

The following error occurs when building against recent GSL versions:
make -j3 -j1
make all-recursive
make[1]: Entering directory '/var/tmp/paludis/build/sci-libs-fgsl-1.0.0-r1/work/fgsl-1.0.0'
Making all in .
make[2]: Entering directory '/var/tmp/paludis/build/sci-libs-fgsl-1.0.0-r1/work/fgsl-1.0.0'
/bin/sh ./libtool --tag=FC --mode=compile x86_64-pc-linux-gnu-gfortran -DHAVE_CONFIG_H -I. -I. -I. -pipe -O2 -march=native -g -O2 -c -o fgsl.lo fgsl.F90
libtool: compile: x86_64-pc-linux-gnu-gfortran -DHAVE_CONFIG_H -I. -I. -I. -pipe -O2 -march=native -g -O2 -c fgsl.F90 -fPIC -o .libs/fgsl.o
libtool: compile: x86_64-pc-linux-gnu-gfortran -DHAVE_CONFIG_H -I. -I. -I. -pipe -O2 -march=native -g -O2 -c fgsl.F90 -o fgsl.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-cc -DHAVE_CONFIG_H -I. -I. -I. -pipe -O2 -march=native -pipe -O2 -march=native -c -o libfgsl_la-fgsl_utils.lo test -f 'fgsl_utils.c' || echo './'fgsl_utils.c
libtool: compile: x86_64-pc-linux-gnu-cc -DHAVE_CONFIG_H -I. -I. -I. -pipe -O2 -march=native -pipe -O2 -march=native -c fgsl_utils.c -fPIC -DPIC -o .libs/libfgsl_la-fgsl_utils.o
fgsl_utils.c:1090:13: error: conflicting types for 'gsl_multifit_fdfsolver_jac'
gsl_matrix gsl_multifit_fdfsolver_jac(gsl_multifit_fdfsolver s) {
^
In file included from fgsl_utils.c:21:0:
/usr/x86_64-pc-linux-gnu/include/gsl/gsl_multifit_nlin.h:177:5: note: previous declaration of 'gsl_multifit_fdfsolver_jac' was here
int gsl_multifit_fdfsolver_jac (gsl_multifit_fdfsolver * s,
^
fgsl_utils.c: In function 'gsl_multifit_fdfsolver_jac':
fgsl_utils.c:1091:13: error: 'gsl_multifit_fdfsolver' has no member named 'J'
return s->J;
^
Makefile:397: recipe for target 'libfgsl_la-fgsl_utils.lo' failed
make[2]: [libfgsl_la-fgsl_utils.lo] Error 1
make[2]: Leaving directory '/var/tmp/paludis/build/sci-libs-fgsl-1.0.0-r1/work/fgsl-1.0.0'
Makefile:449: recipe for target 'all-recursive' failed
make[1]: [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/paludis/build/sci-libs-fgsl-1.0.0-r1/work/fgsl-1.0.0'
Makefile:266: recipe for target 'all' failed
make: *** [all] Error 2

How to Install properly?

Someone else install FGSL on my desktop, I can use FGSL in such an easy way:

gfortran -I/usr/include/fgsl bessel.f90 -lfgsl

However I installed FGSL on my Laptop, the same test does not work properly.

chen@jesuslovesme:~/Documents/numerical/fortran/fgsl$ gfortran -I/usr/include/fgsl bessel.f90 -lfgsl

Errors:
/usr/bin/ld: /tmp/cceiCL9M.o: in function MAIN__': bessel.f90:(.text+0x1d): undefined reference to gsl_sf_bessel_Kn'
/usr/bin/ld: bessel.f90:(.text+0xc3): undefined reference to `gsl_sf_bessel_Knu'
collect2: error: ld returned 1 exit status

The method I install is like this, doese there any problem?

export FC=gfortran
export PKG_CONFIG_PATH=/usr/include/gsl/lib/pkgconfig
export gsl_LIBS=/usr/include/gsl
[ -f ./fgsl.tar.gz ] && echo "No need to download fgsl" || wget https://github.com/reinh-bader/fgsl/archive/v1.3.0.tar.gz -O fgsl.tar.gz
mkdir -p fgsl_build
cd fgsl_build
tar -xzf ../fgsl.tar.gz --strip 1
autoreconf -fi
./configure CFLAGS="-Wall" FCFLAGS="-Wall" --prefix=${gsl_LIBS}
make
make check
make install
cd ..
rm -rf fgsl_build

GSL 2.2.1 is out...

... and will need support in FGSL in order to use the new features.

As far as I can tell, it is still possible to compile the current FGSL release against GSL 2.2.1, as the API was not broken.

Anyone interested in writing some code for this? I won't have time until the christmas holidays for this unfortunately....

versions for Ubuntu 20.04.4 and/or OpenSuSE leap 15.3

Dear Sir,

Primarily, I am an opensuse user, so it would be nice to have a fgsl package specific for that (compiling from source did nor work for me).
As a contouring, I have a Kubuntu (virutal)Machine , version 20.04.4.
Unfortunately, for me the ubuntu instructions did not work.
I issue:
"
iulek@iulek-VirtualBox:/usr/local$ sudo curl http://lvserver.ugent.be/apt/xmi.packages.key | sudo apt-key add -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6439 100 6439 0 0 13613 0 --:--:-- --:--:-- --:--:-- 13584
OK
iulek@iulek-VirtualBox:/usr/local$
"
Then I add:
"
deb [arch=amd64] http://lvserver.ugent.be/apt/ubuntu wily stable
deb-src http://lvserver.ugent.be/apt/ubuntu wily stable
"
to /etc/apt/sources.list
(or, even if I change "wily" to "focal")
But then I get:
"
iulek@iulek-VirtualBox:/usr/local$ sudo apt-get update
Hit:1 http://br.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://br.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://br.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://archive.canonical.com/ubuntu focal InRelease
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:6 http://lvserver.ugent.be/apt/ubuntu focal InRelease
Get:7 http://lvserver.ugent.be/apt/ubuntu wily InRelease [2.343 B]
Err:7 http://lvserver.ugent.be/apt/ubuntu wily InRelease
The following signatures were invalid: CB66CB1174623729C9A3AC4F1CA7FDC8856B2D18
Reading package lists... Done
W: GPG error: http://lvserver.ugent.be/apt/ubuntu wily InRelease: The following signatures were invalid: CB66CB1174623729C9A3AC4F1CA7FDC8856B2D18
E: The repository 'http://lvserver.ugent.be/apt/ubuntu wily InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
iulek@iulek-VirtualBox:/usr/local$
"
and so it says to me it cannot find packages libfgsl0, etc.

Is there a work around for that?
Thank you,

Jorge

pgfortran issue -- failed to compile -- two tests failed

I tried to compile FGSL with PGI's fortran compiler and got the following error messages:

PGF90-S-0034-Syntax error at or near VALUE (./interface/ode.finc: 141)
PGF90-S-0034-Syntax error at or near VALUE (./interface/spmatrix.finc: 61)
  0 inform,   0 warnings,   2 severes, 0 fatal for fgsl

Apparently pgfortran does not like value statements. After replacing the statements by attributes the code compiled but two tests failed:

FAIL: spmatrix
FAIL: splinalg

There are also two XFAILs but I think they are expected:

XFAIL: error
XFAIL: error_1

Please refer to the attached files for details.

GSL 2.4 is out...

and introduces a couple of new features which will need support in FGSL...

How to compile?

Hello. I'm a beginner for programing.
I installed fgsl through Macbrew. And I made a file with "use fgsl".
But I can't compile it.
How do you compile using gfortran.
Please tell me ....

Usage of __FILE__ leads to truncated lines

For some build scenarios, __FILE__ turns into a very long string, which then results in "Line truncated" error messages. While this can generally be worked around with the appropriate (compiler-dependent) compile flags, it would be better if __FILE__ were replaced with the corresponding hardcoded string so as to keep the build process simple.

OSX build 1 failure:: gsl: gamma.c:1264

i linked this against gfortran-5.3, gfortran-6-latest and gfortran-6-dev with gsl 1.16 all report following

  1 =============================================
  2    fgsl 1.0.0: doc/examples/test-suite.log
  3 =============================================
  4 
  5 # TOTAL: 45
  6 # PASS:  44
  7 # SKIP:  0
  8 # XFAIL: 1
  9 # FAIL:  0
 10 # XPASS: 0
 11 # ERROR: 0
 12 
 13 .. contents:: :depth: 2
 14 
 15 XFAIL: error_1
 16 ==============
 17 
 18 gsl: gamma.c:1264: ERROR: domain error
 19 Default GSL error handler invoked.
 20 
 21 Program received signal SIGABRT: Process abort signal.
 22 
 23 Backtrace for this error:
 24 #0  0x10ce17354
 25 #1  0x10ce16b44
 26 #2  0x7fff8d591ea9
 27 XFAIL error_1 (exit status: 134)

Undefined reference to cblas upon make check

When I run make check, I get lots of undefined reference messages like this:

/usr/lib/libgsl.so: undefined reference to `cblas_*'

I even tried the env: export gsl_LIBS=/usr/lib/libgsl.so:/usr/lib/libgslcblas.so

make check -- all tests failed -- See tests/test-suite.log Please report to [email protected]

i ran ./configure and make under "/home/segtovichisv/Desktop/workspace-fortran+steroids/1. gsl/3. fortran fgsl/setup fgsl/fgsl-1.1.0"

.configure and make did not raise errors
make check did
by looking at test-suite.log (renamed to test-suite.log.txt in the attachment) i believe spaces in the working directory path were the problem. (i found nothing about spaces in the README)

i moved the whole dir with source and build instructions to ~/Desktop and re-ran make clean, ./configure, make and make check and then all tests passed

the error said Please report to [email protected]
and the site said Users of FGSL are encouraged to send bug reports via the Github ticket system.

i couldn't test on the latest release because i am testing stuff on the default "apt install gsl" which is the 2.1

So i guess by creating this issue, if it is not something already fixed in the latest release, some warning about spaces might be added in the README file, and maybe some next version scripts would be able to deal with spaces.

thanks for your consideration

test-suite.log.txt

Build fails with multiple make jobs

There is also a parallel build issue in the testsuite that I noticed. If you cannot replicate it I can attach another log. The following is from the compilation phase.

When compiling with make -j4:
make all-recursive
make[1]: Entering directory '/home/thomas/Downloads/fgsl-1.0.0'
Making all in .
make[2]: Entering directory '/home/thomas/Downloads/fgsl-1.0.0'
/bin/sh ./libtool --tag=FC --mode=compile gfortran -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c -o fgsl.lo fgsl.F90
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libfgsl_la-fgsl_utils.lo -MD -MP -MF .deps/libfgsl_la-fgsl_utils.Tpo -c -o libfgsl_la-fgsl_utils.lo test -f 'fgsl_utils.c' || echo './'fgsl_utils.c
gfortran -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c -o fgsl.o fgsl.F90
libtool: compile: gfortran -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c fgsl.F90 -fPIC -o .libs/fgsl.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libfgsl_la-fgsl_utils.lo -MD -MP -MF .deps/libfgsl_la-fgsl_utils.Tpo -c fgsl_utils.c -fPIC -DPIC -o .libs/libfgsl_la-fgsl_utils.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libfgsl_la-fgsl_utils.lo -MD -MP -MF .deps/libfgsl_la-fgsl_utils.Tpo -c fgsl_utils.c -o libfgsl_la-fgsl_utils.o >/dev/null 2>&1
Fatal Error: Can't rename module file 'fgsl.mod0' to 'fgsl.mod': No such file or directory
Makefile:542: recipe for target 'fgsl.o' failed
make[2]: [fgsl.o] Error 1
make[2]: Waiting for unfinished jobs....

Issue when compiling an example program

Hello,
I copied and paste the example program multiroot.f90. I tried to compile it using
gfortran -I/usr/local/include/fgsl -I/home/sara/fgsl_build/tests prova_multiroot.f -lfgsl -lgsl -lgslcblas -lm but i get the following message /tmp/cccwLMcu.o: In function MAIN__': prova_multiroot.f:(.text+0x676): undefined reference to __mod_unit_MOD_unit_init'
prova_multiroot.f:(.text+0x7e5): undefined reference to __mod_unit_MOD_unit_assert_equal_string' prova_multiroot.f:(.text+0x8e2): undefined reference to __mod_unit_MOD_unit_assert_equal_integer'
prova_multiroot.f:(.text+0x96d): undefined reference to __mod_unit_MOD_unit_assert_true' prova_multiroot.f:(.text+0xb5c): undefined reference to __mod_unit_MOD_unit_assert_equal_integer'
prova_multiroot.f:(.text+0xbc4): undefined reference to __mod_unit_MOD_unit_assert_equal_within_double_array' prova_multiroot.f:(.text+0xd47): undefined reference to __mod_unit_MOD_unit_assert_equal_string'
prova_multiroot.f:(.text+0xe51): undefined reference to __mod_unit_MOD_unit_assert_equal_integer' prova_multiroot.f:(.text+0xedc): undefined reference to __mod_unit_MOD_unit_assert_true'
prova_multiroot.f:(.text+0x10cb): undefined reference to __mod_unit_MOD_unit_assert_equal_integer' prova_multiroot.f:(.text+0x1133): undefined reference to __mod_unit_MOD_unit_assert_equal_within_double_array'
prova_multiroot.f:(.text+0x114c): undefined reference to `__mod_unit_MOD_unit_finalize'
collect2: error: ld returned 1 exit status
Can you help me?

ps: removing the instruction I/home/sara/fgsl_build/tests, that is the the path wher I found mod_unit.mod, I got use mod_unit
1
Fatal Error: Can't open module file ‘mod_unit.mod’ for reading at (1): No such file or directory
compilation terminated.

Thank you in advance,
Sara

Linking problems against GSL 2.6 on Windows

It would appear that gsl_spmatrix_compare_idx was removed in 2.6, which is causing linker trouble on Windows.

/bin/sh ./libtool  --tag=FC   --mode=compile gfortran -DHAVE_CONFIG_H -I.  -I. -I.   -g -O2 -c -o fgsl.lo fgsl.F90
libtool: compile:  gfortran -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c fgsl.F90  -DDLL_EXPORT -o .libs/fgsl.o
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I.   -g -O2 -MT libfgsl_la-fgsl_utils.lo -MD -MP -MF .deps/libfgsl_la-fgsl_utils.Tpo -c -o libfgsl_la-fgsl_utils.lo `test -f 'fgsl_utils.c' || echo './'`fgsl_utils.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libfgsl_la-fgsl_utils.lo -MD -MP -MF .deps/libfgsl_la-fgsl_utils.Tpo -c fgsl_utils.c  -DDLL_EXPORT -DPIC -o .libs/libfgsl_la-fgsl_utils.o
mv -f .deps/libfgsl_la-fgsl_utils.Tpo .deps/libfgsl_la-fgsl_utils.Plo
/bin/sh ./libtool  --tag=FC   --mode=link gfortran  -g -O2 -version-info 1:0:0 -no-undefined  -o libfgsl.la -rpath /home/VssAdministrator/install/lib fgsl.lo libfgsl_la-fgsl_utils.lo  -lgsl -lgslcblas -lm 
libtool: link: gfortran -shared  .libs/fgsl.o .libs/libfgsl_la-fgsl_utils.o   -lgsl -lgslcblas  -O2   -o .libs/libfgsl-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libfgsl.dll.a
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/fgsl.o: in function `__fgsl_MOD_fgsl_spmatrix_compare_idx':
D:\a\1\s\fgsl-1.1.0/api/spmatrix.finc:42: undefined reference to `gsl_spmatrix_compare_idx'
collect2.exe: error: ld returned 1 exit status

nvfortran build: nlfit4 crashes

Example program doc/example/nlfit4 crashes with a segfault.

Compiler: nvfortran 24.3-0 64-bit target on x86-64 Linux -tp icelake-server
OS: Ubuntu 20.04.6 LTS / executing under WSL 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.