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.

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 binaries for Windows cannot be found, 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.1
  • 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. Should point to the folder where NLME Engine archive was extracted.

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

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

  • PhoenixLicenseFile

please see Windows section.

  • PhoenixLicenseServer

please see Windows section.


please see Windows section.

  • 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

That variables could be set for each R session or rows could be added in ~/.bash_profile

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

Note that PhoenixMPIDir64 and shared_directory env.variables could be specified in additional shell script used for remote runs, in such case sharedDirectory could retain empty in the host specification and it is not necessary to add them to .bash_profile.


Do existing Phoenix users need to install the NLME Engine?

Yes. RsNLME version-2.0.0 requires NLME-Engine-23.10.1. 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 may exist in Phoenix application.

Note: Phoenix NLME-Engine is kept in a separate location and installing NLME-Engine-23.10.1 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 source package Certara.NLME8 distributed within Phoenix release (8.0, 8.1, 8.2, 8.3, 8.4) compatible with the packages distributed within RsNLME R package?

It is recommend to maintain a distinct R version (or separate R library) that ensures a particular version of the Certara.NLME8 package used in your version of Phoenix is not updated to a newer version of the Certara.NLME8 required by Certara.RsNLME >= 2.0.0.

Is it possible to use Certara.NLME8 distributed within Certara RsNLME package for Phoenix NLME R assisted runs?

See the solution given above.