RobinHankin / gsl

an R wrapper for the Gnu Scientific Library
15 stars 9 forks source link

can't install gsl package when up-to-date GSL library is installed #23

Closed jianwu1 closed 1 year ago

jianwu1 commented 1 year ago

From the DESCRIPTION file

SystemRequirements: Gnu Scientific Library version >= 2.5

I ought to make this clearer in the package docs.

Hi Robin,

Thanks for pointing this out to me! #22

The gsl-config PATH was still directed to the gsl version1.15. However, I have now changed the path to gsl-config to the local path where I installed gsl version2.7.1, and using this new version, gsl is still working properly:

Screen Shot 2022-12-20 at 6 01 59 pm

However, when doing install.packages("gsl"), it seems the installation still seeks gsl-config in the old PATH /usr/bin/gsl-config, therefore causing failure of installation.

Screen Shot 2022-12-20 at 6 16 57 pm Screen Shot 2022-12-20 at 6 17 11 pm

Can I ask how I can make install.packages("gsl") to use the new gsl-config which is the default in PATH now?

RobinHankin commented 1 year ago

Hi there again.

Frankly this is not my area of expertise, I didn't write configure.ac myself and I never really understood how it worked. And I have never been clear about how exactly R environment variables behave.

I would try this: remove completely the old GSL installation [or at least rename the appropriate directory to 'foo_old'] and then hope that the correct GSL installation is found further along the path.

let me know how you get on

rksh

-- Robin K. S. Hankin Associate Professor, computational statistics

On Tue, Dec 20, 2022 at 8:33 PM jianwu1 @.***> wrote:

From the DESCRIPTION file

SystemRequirements: Gnu Scientific Library version >= 2.5

I ought to make this clearer in the package docs.

Hi Robin,

Thanks for pointing this out to me! #22 https://github.com/RobinHankin/gsl/issues/22

The gsl-config PATH was still directed to the gsl version1.15. However, I have now changed the path to gsl-config to the local path where I installed gsl version2.7.1, and using this new version, gsl is still working properly: [image: Screen Shot 2022-12-20 at 6 01 59 pm] https://user-images.githubusercontent.com/62498686/208607210-accacc77-3c61-4a87-ac4e-f6495381ca27.png

However, when doing install.packages("gsl"), it seems the installation still seeks gsl-config in the old PATH /usr/bin/gsl-config, therefore causing failure of installation. [image: Screen Shot 2022-12-20 at 6 16 57 pm] https://user-images.githubusercontent.com/62498686/208607800-d3612ab7-54a4-4932-8513-d94a32ac5baf.png [image: Screen Shot 2022-12-20 at 6 17 11 pm] https://user-images.githubusercontent.com/62498686/208607832-83a6fb66-e9b8-4c07-8a37-b2f968a48452.png

Can I ask how I can make install.packages("gsl") to use the new gsl-config which is the default in PATH now?

— Reply to this email directly, view it on GitHub https://github.com/RobinHankin/gsl/issues/23, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADFFZUWK24CH5PR3A2ED6U3WOFONRANCNFSM6AAAAAATEFZAVQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jianwu1 commented 1 year ago

Hi Robin,

Unfortunately I'm using the institute's linux platform and do not have root privilege to change the shared library where gsl version1.15 is installed. However, I'm not sure if the version is the issue. Since install.packages("gsl") looks for gsl-config in the root directory /usr/bin, I tried to install the R package "gsl" from source because I do have gsl-config 2.7.1 installed and set to the PATH in my session. I first downloaded the .tar.gz file from: https://cran.r-project.org/web/packages/gsl/index.html by doing: wget https://cran.r-project.org/src/contrib/gsl_2.1-7.1.tar.gz then module load R/4.2.1, then R CMD INSTALL gsl_2.1-7.1.tar.gz. However, I still get the same error even when the installation now does seek gsl-config from the local directory I set to the PATH, where gsl-config version 2.7.1 is installed:

Screen Shot 2022-12-20 at 9 58 43 pm Screen Shot 2022-12-20 at 9 59 31 pm Screen Shot 2022-12-20 at 9 59 51 pm

There is no explanation about how to install "gsl" from source on the github page and I hope I did the right steps to install it from source.

Many thanks,

Jian

RobinHankin commented 1 year ago

OK, the only reason the compilation is failing is the new argument system on the Jacobi elliptic function stuff, so maybe try an older version of the gsl package, available on the archive page https://cran.r-project.org/src/contrib/Archive/gsl/

Not sure exactly how far back you will have to go. Let me know how you get on as adding any insights gleaned to the package installation docs is always a good thing.

best,

rksh

-- Robin K. S. Hankin Associate Professor, computational statistics

On Wed, Dec 21, 2022 at 12:19 AM jianwu1 @.***> wrote:

Hi Robin,

Unfortunately I'm using the institute's linux platform and do not have root privilege to change the shared library where gsl version1.15 is installed. However, I'm not sure if the version is the issue. Since install.packages("gsl") looks for gsl-config in the root directory /usr/bin, I tried to install the R package "gsl" from source because I do have gsl-config 2.7.1 installed and set to the PATH in my session. I first downloaded the .tar.gz file from: https://cran.r-project.org/web/packages/gsl/index.html http://url by doing: wget https://cran.r-project.org/src/contrib/gsl_2.1-7.1.tar.gz then module load R/4.2.1, then R CMD INSTALL gsl_2.1-7.1.tar.gz. However, I still get the same error even when the installation now does seek gsl-config from the local directory I set to the PATH, where gsl-config version 2.7.1 is installed: [image: Screen Shot 2022-12-20 at 9 59 31 pm] https://user-images.githubusercontent.com/62498686/208653854-1e9e71a0-1e1b-4ad8-942f-0385cfe2b8fd.png [image: Screen Shot 2022-12-20 at 9 59 51 pm] https://user-images.githubusercontent.com/62498686/208653943-367b7de4-b982-4ed6-b935-26410701b869.png

There is no explanation about how to install "gsl" from source on the github page and I hope I did the right steps to install it from source.

Many thanks,

Jian

— Reply to this email directly, view it on GitHub https://github.com/RobinHankin/gsl/issues/23#issuecomment-1359206081, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADFFZUXXDHBLW3GDRTMOPZ3WOGI43ANCNFSM6AAAAAATEFZAVQ . You are receiving this because you commented.Message ID: @.***>

jianwu1 commented 1 year ago

https://cran.r-project.org/src/contrib/Archive/gsl/

Hi Robin, Thank you very much! I installed gsl_1.9-10.tar.gz version from 2013 successfully. All the other more recent versions gives the same error: ellint.c:82:17: error: too few arguments to function ‘gsl_sf_ellint_D_e’ 82 | status[i] = gsl_sf_ellint_D_e(phi[i], k[i], sf_mode[*mode], &result) ; And gsl_2.1-1.tar.gz gives configure: error: Need GSL version >= 1.12 ERROR: configuration failed for package ‘gsl’ even though the GSL version I used are either version 1.15 or 2.7.1

I wonder if the gsl_sf_ellint_D_e function in the latest versions has some issues. Otherwise gsl would have been installed more easily I imagine. Anyway, gsl is installed for me and I could now use other packages dependent on it. So thank you very much!!

Best wishes,

Jian

RobinHankin commented 1 year ago

that's good news. The GSL version discrepancy error was caused by a mismatch in the various checking routines, but the latest package is internally consistent again.

best wishes

Robin

Robin K. S. Hankin Associate Professor, computational statistics

On Wed, Dec 21, 2022 at 12:58 PM jianwu1 @.***> wrote:

https://cran.r-project.org/src/contrib/Archive/gsl/

Hi Robin, Thank you very much! I installed gsl_1.9-10.tar.gz version from 2013 successfully. All the other more recent versions gives the same error: ellint.c:82:17: error: too few arguments to function ‘gsl_sf_ellint_D_e’ 82 | status[i] = gsl_sf_ellint_D_e(phi[i], k[i], sf_mode[*mode], &result) ; And gsl_2.1-1.tar.gz gives configure: error: Need GSL version >= 1.12 ERROR: configuration failed for package ‘gsl’ even though the GSL version I used are either version 1.15 or 2.7.1

I wonder if the gsl_sf_ellint_D_e function in the latest versions has some issues. Otherwise gsl would have been installed more easily I imagine. Anyway, gsl is installed for me and I could now use other packages dependent on it. So thank you very much!!

Best wishes,

Jian

— Reply to this email directly, view it on GitHub https://github.com/RobinHankin/gsl/issues/23#issuecomment-1360509666, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADFFZUUDQZ7DMKEHOEYXRPDWOJB3BANCNFSM6AAAAAATEFZAVQ . You are receiving this because you commented.Message ID: @.***>