TERR, TSSS or a Spotfire data function returns "Error in REvaluate" "there is no package called ..."

TERR, TSSS or a Spotfire data function returns "Error in REvaluate" "there is no package called ..."

book

Article ID: KB0080232

calendar_today

Updated On:

Products Versions
Spotfire Enterprise Runtime for R All supported versions
Spotfire Analyst All supported versions
Spotfire Desktop All supported versions

Description

A call to REvaluate() or RGraph() from TERR's optional built-in "RinR" package fails with an error similar to the following:

Could not execute function call.
TIBCO Enterprise Runtime for R returned an error: 'Error in REvaluate(expr = {
    library(abcde)
   : Error in library(abcde) : there is no package called 'abcde'

 

Issue/Introduction

TERR, TSSS or a Spotfire data function returns "Error in REvaluate" "there is no package called ..."

Environment

All supported environments

Resolution

The R package mentioned in the error message must be installed in the open-source R instance that the call to REvaluate() or RGraph() uses for processing its data and expression. Installing the package in the TIBCO Enterprise Runtime for R (TERR) instance that is calling REvaluate() or RGraph() will not make it available for use inside the call to REvaluate() or RGraph().

Background:

The following TERR error message indicates that an R package needed in a call to REvaluate() has not been installed in the open-source R instance on the same machine that REvaluate() sends its data and expression to:

Error in REvaluate(expr = {
    library(abcde) : Error in library(abcde) : there is no package called 'abcde'



A call to RGraph() will return the same error message (referring to REvaluate() ) because RGraph() uses a call to REvaluate() to launch the open-source R session and handle communication with it. The open-source R instance used by a call to REvaluate() cannot use packages that have been installed in the TERR instance, and vice versa. Similarly, the open-source R session launched by a call to REvaluate() cannot use packages that have been loaded into the TERR session's search() path (using a call to library(), for example), and vice versa.