## Meeting System Requirements

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

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 https://certara.jfrog.io/artifactory/certara-cran-release-public/bin/windows/contrib/4.1

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:

.libPaths()

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

or

ERROR: lazy loading failed for package ‘rlang’

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

install.packages("rlang")

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:

• MPICH 1.4.1
• GCC 8.4
• NLME Engine

### 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 MPICH 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.

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

### Modify/Uninstall

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:

• INSTALLDIR

Should point to the folder where NLME Engine is installed.

• NLMEGCCDir64

Should point to the folder with GCC 8.4

• PhoenixMPIDir64

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

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.

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.

• NLME_ROOT_DIRECTORY

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("PhoenixMPIDir64") # MPICH path if MPICH was installed
## [1] "C:\\Program Files\\Certara\\MPICH2-1.4.1\\"
Sys.getenv("PhoenixLicenseFile")
## [1] ""
Sys.getenv("PhoenixLicenseServer")
## [1] ""

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

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

### On Linux

The following variables are used by RsNLME:

• INSTALLDIR

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).

• NLME_ROOT_DIRECTORY

• 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.

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/

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.

## FAQ

#### Do existing Phoenix users need to install the NLME Engine?

Yes. Current Certara.RsNLME package version is compatible only with NLME-Engine-23.1.1. Existing Phoenix users must install the updated NLME Engine. Note: Phoenix NLME Engine is kept in a separate location and installing NLME-Engine-23.1.1 will not affect your existing Phoenix installation.

Note: Existing Phoenix users already have MPICH2 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) compatible with the packages distributed within RsNLME R package?

Please use different R version for RsNLME package for that. (i.e. R 4.05 for Phoenix NLME R assisted runs and R 4.1.1 for RsNLME packages).

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

See the solution given above.