sousasag / ARES

ARES - Automatic Routine for line Equivalent widths in stellar Spectra

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gsl implicit declaration of function

MariaTsantaki opened this issue · comments

Hi Sergio,

I get this error when installing : areslib.h:601:3: warning: implicit declaration of function ‘gsl_multifit_fdfsolver_jac’ [-Wimplicit-function-declaration]

To solve: cp areslib_gsl1.h areslib.h
(I don't know how areslib_gsl1.h is created)

Hi,

This is not an error, is a warning!

What is the issue? Is there a error, does it compile. What is the gsl version that you have in your system?

I could not compile. My version is 2.1

I am only mentioning in case anyone else gets the same problem. :)

Sure, no problem.
I need more information. Can you do:

make clean; cp areslib_gsl2.h areslib.h; make; ls -lrt

And show me the output of these commands. Your original message is a warning. It should not prevent from compiling...

Output:
rm -f ARES test.ares
gcc -o ARES ARES_v2.c -lcfitsio -lgsl -lgslcblas -lm -lgomp -fopenmp
In file included from ARES_v2.c:47:0:
areslib.h: In function ‘fitngauss’:
areslib.h:601:3: warning: implicit declaration of function ‘gsl_multifit_fdfsolver_jac’ [-Wimplicit-function-declaration]
gsl_multifit_fdfsolver_jac(s, J);
^
/tmp/ccpWpA6S.o: In function fitngauss': ARES_v2.c:(.text+0x692b): undefined reference to gsl_multifit_fdfsolver_jac'
collect2: error: ld returned 1 exit status
makefile:2: recipe for target 'install' failed
make: *** [install] Error 1
total 1608
-rw-rw-r--. 1 paranoia paranoia 15990 Jan 24 16:53 README.md
-rw-rw-r--. 1 paranoia paranoia 7324 Jan 24 16:53 ARES_v2.c
-rw-rw-r--. 1 paranoia paranoia 21718 Jan 24 16:53 areslib_gsl1.h
-rw-rw-r--. 1 paranoia paranoia 5318 Jan 24 16:53 sn_rejt_estimator.h
-rw-rw-r--. 1 paranoia paranoia 7602 Jan 24 16:53 rvcor.h
-rw-rw-r--. 1 paranoia paranoia 2052 Jan 24 16:53 ngaussfdf.h
-rw-rw-r--. 1 paranoia paranoia 226 Jan 24 16:53 mine.opt
-rw-rw-r--. 1 paranoia paranoia 166 Jan 24 16:53 makefile
-rw-rw-r--. 1 paranoia paranoia 4482 Jan 24 16:53 linelist.dat
-rw-rw-r--. 1 paranoia paranoia 122 Jan 24 16:53 lambda_rejt.opt
-rw-rw-r--. 1 paranoia paranoia 11296 Jan 24 16:53 filesio.h
-rw-rw-r--. 1 paranoia paranoia 5749 Jan 24 16:53 aresplot.h
-rw-rw-r--. 1 paranoia paranoia 21793 Jan 24 16:53 areslib_gsl2.h
-rw-rw-r--. 1 paranoia paranoia 10000 Jan 24 16:53 test.ares_ori
-rw-rw-r--. 1 paranoia paranoia 1474560 Jan 24 16:53 sun_harps_ganymede.fits
-rw-rw-r--. 1 paranoia paranoia 21793 Jan 25 12:47 areslib.h

Time to check version of gsl library.
What linux system do you have, if debian like, please show me the output if this:

dpkg -l | grep libgsl

For me I got this:

ii  libgsl-dev                                  2.1+dfsg-2                                    amd64        GNU Scientific Library (GSL) -- development package
ii  libgsl2:amd64                               2.1+dfsg-2                                    amd64        GNU Scientific Library (GSL) -- library package

Let see your version, or if you have more than 1 gsl version installed...

I have fedora23.
The problem is solved when I use the areslib_gsl1.h instead of areslib.h . I guess there the function that issues the warning is not used.

Yes, that funtion is for the use of the gsl 2.x. So does it mean that you have gsl 1.x installed?
Can we confirm this before I close the issue?

Maybe with
yum info gsl
yum info gsl-devel

You are right, my version is 1.16

Ok perfect. I will close the issue.
Thanks.