Issues with nloptr
Problem statement
nloptr
has released a new major version (2.x) that has changed OS dependencies. They need a more recent version of both NLopt and cmake. nloptr
will check if NLopt
is installed and in the right version. If not, it will automatically build NLopt
within the R package itself. For that it will need cmake
in Version >= 3.15. (more information on github.
Solutions
General Solution
Downgrade nloptr
One of the easiest solutions is to downgrade nloptr
to a 1.x version (latest available is 1.2.2.3):
remotes::install_version("nloptr", version = "1.2.2.3")
OS specific solutions (in order to keep using nloptr
version 2.0)
Ubuntu 16.04 (beaver) and 18.04 (bionic)
Upgrade cmake
using the kitware repo.
Ubuntu 20.04 (focal) +
No action needed.
RHEL/CentOS 7
Install cmake3
from the EPEL repository, remove cmake
if it is installed and finally create symbolic link ln -s /usr/bin/cmake3 /usr/bin/cmake
.