astamm / nloptr

nloptr provides an R interface to NLopt, a free/open-source library for nonlinear optimization providing a common interface to a number of different optimization routines which can handle nonlinear constraints and lower and upper bounds for the controls.

Home Page:https://astamm.github.io/nloptr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cannot install the recent version 2.0.0

waynelapierre opened this issue · comments

error message:

/usr/bin/ld: cannot find -lnlopt
collect2: error: ld returned 1 exit status
make: *** [/usr/share/R/make/shlib.mk:10: nloptr.so] Error 1
ERROR: compilation failed for package ‘nloptr’

session info:

R version 4.1.2 (2021-11-01)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Fedora Linux 35 (Workstation Edition)

Matrix products: default
BLAS/LAPACK: /usr/lib64/libflexiblas.so.3.1

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
[1] compiler_4.1.2 tools_4.1.2   

I would need more details of the install process to understand what is going on. I see you're running under Fedora. In this case, v2.0.0 should look first for an existing NLopt build on your system of recent enough version (>= 2.7.0) and use it if found. In case it cannot find such a build, it should build NLopt from included sources using cmake. In this case, it will attempt to find cmake binary on your PATH and, if it cannot find it, it should prompt you to install it suggesting a variety of options. I don't see this message in the error you shared here. Can you please detail?

You are right. After installing cmake, the problem is gone. Thanks.