Skip to content

libgsl.so.0

5 messages · Rolf Turner, Kirill Müller, Dirk Eddelbuettel

#
I have just upgraded to the latest R (3.3.2) and thought I should update 
my library of contributed packages.

Ran into problems with "copula".  Got the error:
So after a bit of googling around I did:

     sudo apt-get install libgsl2
     sudo apt-get install libgsl-dev

both of which ran successfully.

Still no joy, but.  What *else* do I need to do?

I am running Ubuntu 16.04.1.

cheers,

Rolf
#
Did you reinstall the gsl package [1]?


-Kirill


[1] https://cran.r-project.org/web/packages/gsl/index.html
On 01.11.2016 04:17, Rolf Turner wrote:
#
On 01/11/16 21:08, Kirill M?ller wrote:
Apparently not.  I did a complete update.packages() which reinstalled a
great number of packages (I have a great number in my personal library).
There were complaints about 4 packages, one of which was "copula", but
"gsl" was not one of them.

I would have *thought* that if "gsl" needed to be reinstalled, then 
update.packages() would have done this.

It also makes no sense to me --- the install of "copula" complained 
about not being able to find a shared object library (presumably of
fortran or C or some such code), not about being unable to load "gsl".

Be that as it were, I did an install (a reinstall) of "gsl" successfully 
and then the install of copula was also smooth and successful.

Thanks.

cheers,

Rolf Turner
#
The error message mentions (perhaps not very clearly) that the shared 
library installed with the gsl R package could not be loaded. Chances 
are that the gsl package (and as a consequence the copula package, too) 
didn't work before you upgraded. This can happen e.g. if the dependent 
system library (libgsl-dev?) is upgraded.

update.packages() doesn't try to load any packages, which would be 
necessary to detect this scenario.


-Kirill
On 01.11.2016 09:45, Rolf Turner wrote:
#
On 1 November 2016 at 09:52, Kirill M?ller wrote:
| The error message mentions (perhaps not very clearly) that the shared 
| library installed with the gsl R package could not be loaded. Chances 
| are that the gsl package (and as a consequence the copula package, too) 
| didn't work before you upgraded. This can happen e.g. if the dependent 
| system library (libgsl-dev?) is upgraded.
| 
| update.packages() doesn't try to load any packages, which would be 
| necessary to detect this scenario.

Spot on.  What happens is that

  a) the Debian package system updated GSL via libgsl* to the gsl-2.*
  
  b) the R package manager knows nothing about it

which why the latter couldn't tell Rolf; R's gsl package just fails to load.

In a fully integrated system a) can trigger b) and smoothly update the _R_
package gsl as a consequense of the _Debian_ library gsl changing. (That's
how Debian works internally.)

Here our coupling is looser.

The only remedy, sadly, is a bit of "been there, done there" which is how
Kirill spotted what to do.  

Dirk