[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] Problems with compiling Non Linear Fit Example
From: |
Dominic Steinitz |
Subject: |
Re: [Help-gsl] Problems with compiling Non Linear Fit Example |
Date: |
Wed, 21 Mar 2018 08:09:21 +0000 |
I’d highly recommend using nix as your package manager rather than building
things yourself. I am happily using both gsl and sundials and didn’t have to do
anything other than specify I want them and nix installed them (building as
necessary). Of course, it’s a big change but I have found it worth it.
Maybe this can help you get started:
https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/
Dominic Steinitz
PS Perhaps I should write a blog post about using nix for numerical stuff.
> On 20 Mar 2018, at 15:20, Patrick Alken <address@hidden> wrote:
>
> Hello,
>
> I just installed a clean version of GSL v2.4 in my home directory to try
> your program. Here are the commands I used:
>
> > cd gsl-2.4
> > ./configure --prefix=/home/palken/usr
> > make
> > make install
> > gcc -g -Wall -o test test.c -lm /home/palken/usr/lib/libgsl.a -lgslcblas
> > ./test
> ...
> summary from method 'trust-region/levenberg-marquardt'
> number of iterations: 16
> function evaluations: 23
> Jacobian evaluations: 17
> reason for stopping: small step size
> initial |f(x)| = 62.202928
> final |f(x)| = 5.454180
> chisq/dof = 0.804002
> A = 5.17379 +/- 0.27938
> lambda = 0.11104 +/- 0.00817
> b = 1.05283 +/- 0.05365
> status = success
>
> Note that when compiling test.c, I gave the full path to the new GSL v2.4
> library (your issue is probably that the linker is trying to link with an old
> version of GSL). Hope this helps.
>
> Patrick
>
> On 02/16/2018 01:45 AM, Dr. Jonny Birkhan wrote:
>> Dear all,
>>
>> I have installed gsl-2.4 on a
>>
>> Linux 4.4.0-103-generic #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64.
>>
>> The libraries are installed in /usr/local/lib.
>>
>> My gcc version is: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.6) 5.4.0 20160609
>>
>>
>> When I try to compile the Exponential Fitting Example I get the following
>> messages:
>>
>> gcc -LLIBDIR=/usr/local/lib -o test test.c -lm -lgsl -lgslcblas
>>
>> /tmp/ccuzgEIN.o:: In function `callback':
>> test.c:(.text+0x2b1): undefined reference to `gsl_multifit_nlinear_residual'
>> test.c:(.text+0x2c1): undefined reference to `gsl_multifit_nlinear_position'
>> test.c:(.text+0x2d8): undefined reference to `gsl_multifit_nlinear_rcond'
>> /tmp/cclIWgcr.o: In function `main':
>> test.c:(.text+0x386): undefined reference to `gsl_multifit_nlinear_trust'
>> test.c:(.text+0x399): undefined reference to
>> `gsl_multifit_nlinear_default_parameters'
>> test.c:(.text+0x640): undefined reference to `gsl_multifit_nlinear_alloc'
>> test.c:(.text+0x665): undefined reference to `gsl_multifit_nlinear_winit'
>> test.c:(.text+0x671): undefined reference to `gsl_multifit_nlinear_residual'
>> test.c:(.text+0x6f6): undefined reference to `gsl_multifit_nlinear_driver'
>> test.c:(.text+0x708): undefined reference to `gsl_multifit_nlinear_jac'
>> test.c:(.text+0x729): undefined reference to `gsl_multifit_nlinear_covar'
>> test.c:(.text+0x755): undefined reference to `gsl_multifit_nlinear_trs_name'
>> test.c:(.text+0x764): undefined reference to `gsl_multifit_nlinear_name'
>> test.c:(.text+0x78f): undefined reference to `gsl_multifit_nlinear_niter'
>> test.c:(.text+0xa9e): undefined reference to `gsl_multifit_nlinear_free'
>> collect2: error: ld returned 1 exit status
>>
>> I guess it's a problem with a missing library file. I couldn't find any bug
>> report on that problem.
>>
>> The source code is appended.
>>
>> Can you help me?
>>
>> Thanks in advance and best regards,
>>
>> Jonny Birkhan
>>
>
>