Meeting System Requirements

  • Windows 8, 10
  • Windows Server 2018, 2019
  • Linux CentOS8/RHEL8
  • Linux Ubuntu 22.04

Note: Only 64bit operating systems supported.

Review Installation Prerequisites

Before installing the packages in R, you must have successfully installed the following on your system.

Note: It is always recommended to install R packages in a new R session, with no other packages loaded. Additionally, ensure no other R/RStudio sessions are running in the background.

Installation Errors/Warnings in R

ERROR: compilation failed for package ‘…’

You may also see the additional error:

c:/rtools40/mingw32/bin/g++: No such file or directory

This error can occur when installing a package dependency from source. R will always attempt to install the Windows binaries first (for Windows users), but in some cases, the binaries may not yet be available on CRAN, only the .tar.gz.

In such cases, R will prompt you with a message -

“Do you want to install from source the packages which need compilation?”

The correct option is to click NO. Clicking Yes may require the additional installation of R Tools to install the package successfully, if that package dependency must be compiled from source.

Note: Not all R packages need additional compilation.

Warning in install.packages:

Warning in install.packages :
  package ‘Certara.RSNLME’ is not available for this version of R

If you have confirmed that R >= 4.0 is installed (use the command R.Version() to check) and still receive this error, ensure that the name of the package is specified correctly. Note: Package names are case-sensitive.

Warning in install.packages :
  unable to access index for repository

This warning implies that the R package binaries for the given OS are unavailable and can be ignored. R will subsequently install the packages from source successfully.

WARNING: Rtools is required …

Rtools is required to build R packages and/or compile libraries from source, however, the installation of Rtools is NOT required to use RsNLME.

If this warning is received, and the packages were not successfully installed:

Option 1: Check R Library Path

Execute the following command to check R the location of your R libraries:

Note: If your R Library path is located on a network drive e.g., OneDrive, you may experience issues installing R packages. The solution is to create a local folder for your R libraries. Click here to learn more.

Option 2: Install missing package separately

If you are still unsuccessful in installing one or more Certara_Packages and ensured that the location of your R library path is not in a network drive, we will likely find the issue given by an informative error message returned to the R console, such as…

namespace ‘rlang’ 0.4.2 is already loaded, but >= 0.4.5 is required


ERROR: lazy loading failed for package ‘rlang’

If this occurs, try installing the above package independently in R.

Then proceed with the installation of Certara_Packages.

Installation Help for NLME Engine

The NLME Engine installer for Windows will automatically install and configure the following components:

  • MS MPI 10.0
  • GCC 8.4
  • NLME Engine 23.10.2
  • Sentinel License Server (optional)

What if I have some components previously installed?

If you have an existing Phoenix installation, you may receive a message stating that GCC and/or MPI is already installed and configured on your system.

If the installer detects that these components are already installed, you will be prompted to skip the installation of these components.

vcruntime140_1.dll not found

DLLs (Dynamic-Link Libraries) are shared libraries in Microsoft Windows, implemented by Microsoft Corporation, and used by the NLME Engine for model execution. If you receive an error such as “vcruntime140_1.dll Not Found”, the file may be corrupted or missing from your system.

The solution is to download the Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022 here, installing both X86 and X64 Architecture.

Note: You will be required to restart your computer after installing Microsoft C++ Redistributable Packages


If you have run the NLME Engine installer previously, you will be prompted with the following options:

  • Modify Available Options
  • Repair Application
  • Uninstall

Select Modify Available Options to re-install components, or, Uninstall to remove components from system.

Check environment variables

On Windows

To ensure that all components have been installed successfully, you may check that the following environment variables exist:


Should point to the folder where NLME Engine is installed.

  • NLMEGCCDir64

Should point to the folder with GCC 8.4

  • PhoenixMSMPIDir

This env.variable is required if MPICH was chosen to be installed.

  • PhoenixLicenseFile

A path to the file with the license. Required only if the license file is placed to other than NLME Engine directory, could be empty otherwise.

  • PhoenixLicenseServer

Should point to the host where it is running. Required only if the license server with appropriate floating license(s) is running, could be empty otherwise. Has higher priority than license file if specified.


A directory where the model files are stored and intermediate folders created for each run. Used only when the host is not specified or the slot shared_directory in the host is empty. If not specified in the host and as an env.variable, RsNLME will use a subfolder of current working directory.

Open a new session of R/RStudio and execute the following:

Sys.getenv("INSTALLDIR") # NLME Engine path
## [1] "C:\\Program Files\\Certara\\NLME_Engine"
Sys.getenv("NLMEGCCDir64") # GCC path
## [1] "C:\\Program Files\\Certara\\mingw64\\"
Sys.getenv("PhoenixMSMPIDir") # MPICH path if MPICH was installed
## [1] ""
## [1] ""
## [1] ""

If the NLME Engine installation has been successful, the above system paths should be returned.

Note: If GCC and/or MSMPI was installed by Phoenix and not using the NLME Engine installer, Sys.getenv("NLMEGCCDir64") and Sys.getenv("PhoenixMSMPIDir") will return a different folder - e.g., “C:\PHSTMinGW64” and “C:\Program Files (x86)\Certara\MPI\”. They could be used as well.

On Linux

The following variables are used by RsNLME:


Should be specified by the user and should point to the folder where NLME Engine archive was extracted e.g., InstallDirNLME folder.

  • PhoenixMPIDir64 (if OpenMPI was installed and intended to be used)

Should be specified by the user and should point to the folder where OpenMPI was installed (with /bin/ and /lib/ as subfolders).

  • PhoenixLicenseFile

See Windows section above.

  • PhoenixLicenseServer

See Windows section above.


See Windows section above.

  • shared_directory

A special env.variable used only when the host is used as a server for remote runs and the host does not have shared_directory path slot specified. It provides the path to the folder where remote files are stored and the models are executed.


A special env.variable to be used on Ubuntu 22.04 host to make libraries compiled on Ubuntu 22.04 available: PML_BIN_DIR = UBUNTU2204

The above environment variables may be added to either ~/.Renviron or included in ~/.bash_profile:

    # .bash_profile
    # main rows remain the same
    # the rows below should be added and modified accordingly
    export INSTALLDIR=/home/user/InstallDirNLME
    export PhoenixMPIDir64=/lib64/openmpi/
    # required for Ubuntu2204 only:
    export PML_BIN_DIR=UBUNTU2204


Do existing Phoenix users need to install the NLME Engine?

Yes. RsNLME version 2.0.1 requires NLME-Engine-23.10.2. RsNLME <= 1.2.0 is supported by NLME-Engine-23.1.1. Existing Phoenix users must install the NLME-Engine executable, separate from NLME-Engine that is embedded in Phoenix application.

Note: Phoenix NLME-Engine is kept in a separate location and installing NLME-Engine-23.10.2 will not affect your existing Phoenix installation.

Note: Existing Phoenix users may already have MS MPI and GCC on their system and only need to install the NLME-Engine.

Is the Certara.NLME8 R package distributed in a Phoenix release compatible with RsNLME?

It is recommended to maintain a distinct R version (or separate R library) that ensures the version of the Certara.NLME8 package that you installed (given the installation instructions provided in your version of Phoenix) is not automatically updated when installing Certara.RsNLME.