Updated to Spotfire X and i am now receiving this error when I try to run a TERR script utilizing the dplyr package
Has anyone received an error similar to the one below after upgrading to spotfire X? I've reloaded the package, but that doesn't seem to work. The script was running smoothly before the upgrade. TIBCO Enterprise Runtime for R returned an error: 'Error in rlang::signal : 'signal' is not an exported object from 'namespace:rlang' Thanks,
This is due to a specific mismatch between the latest versions of "dplyr" and "tibble" (dplyr 0.7.8 and tibble 2.0.1) and the latest "rlang" version that is compatible with TERR 4.5.0 (rlang 0.2.2).
The latest version of the user-contributed "tibble" package (2.0.1, which was released this month on 2019-01-12) deprecates several of its functions that are imported into "dplyr". Those functions' new definitions issue warnings about this change that call a hidden utility function named tibble:::signal_soft_deprecated(). That function contains the following call to the rlang::signal() function, which was introduced in rlang 0.3.0 and does not exist in rlang 0.2.2:
You can avoid this issue by removing the "dplyr" and "tibble" packages (and the other CRAN packages they use) from your TERR instance, then installing the versions of those packages that were current when TERR 4.5.0 was released:
(1) Close all Spotfire desktop client sessions and all standalone TERR 4.5.0 Console sessions on your machine. (This will ensure that the CRAN packages to be removed have not been locked as "in use" by an existing TERR session.)
(2) Open a blank new Spotfire 10.0.0 desktop client session (without opening any Spotfire analysis or DXP file).
(3) Select "Tools > TERR Tools > Launch TERR Console" from the desktop client's main menu.
(4) In the new "TIBCO Enterprise Runtime for R Console" window this opens, paste the following commands, press the key, and wait for the commands to finish (they will print a lot of information to the screen, as they remove and install the CRAN packages):
NamesOfKeyCranPackages <- c("BH", "R6", "Rcpp", "assertthat", "bindr", "bindrcpp", "cli", "crayon", "dplyr", "fansi", "glue", "lubridate", "magrittr", "pillar", "pkgconfig", "plogr", "purrr", "rlang", "stringi", "stringr", "tibble", "tidyr", "tidyselect", "utf8")
install.packages( NamesOfKeyCranPackages, repos = "https://mran.revolutionanalytics.com/snapshot/2018-08-20/")
(5) Close the TERR Console window
(6) Open your Spotfire analysis in this Spotfire 10.0.0 session, and retest.
Spotfire 10.0.0 ships with TERR 4.5.0 as its built-in local TERR engine:
 "TIBCO Enterprise Runtime for R version 4.5.0 (2018-08-21)"
TERR 4.5.0 used open-source R 3.4.4 as the reference for performance comparison testing:
The Spotfire desktop client's "Tools > TERR Tools > Package Management" dialog accomplishes its tasks using calls to TERR's built-in functions named available.packages() and install.packages().
In TERR 4.5.0, a call to install.packages("rlang") will install version 0.2.2 of the user-contributed "rlang" CRAN package, because rlang 0.3.0 (the next version of the package) and later will not work in TERR 4.5.0:
This happens because we have posted rlang 0.2.2 on our TRAN repository, which is checked first in a call to TERR's install.packages() function:
> available.packages( repos = getOption("repos")["TRAN"] )[, "Version"]
datasets lego mgcv rinclude rlang
"3.4.0" "0.2" "1.8-25.1" "3.4.4" "0.2.2"
We have not yet posted the latest TERR 4.5.0-compatible versions for "dplyr" and "tibble", however.
The following public knowledge base article explains why simply installing the latest version of "rlang" will not work, because more recent versions of "rlang" are not binary compatible with TERR 4.5.0:
The following public knowledge base article provides information about the use of CRAN repository snapshots:
The following CRAN package "news" pages contain information on recent changes made in the user-contributed "dplyr", "tibble" and "rlang" packages:
Important note on use of CRAN packages:
User-contributed R packages from the open-source R community's CRAN repository (https://cran.r-project.org/) are available under separate open source software license terms and are not part of the TIBCO Spotfire product line. As such, user-contributed CRAN packages are not within the scope of your license for any TIBCO Spotfire product. User-contributed CRAN packages are not supported, maintained, or warranted in any way by TIBCO Software Inc. Download and use of CRAN packages is solely at your own discretion and subject to the free open source license terms applicable to each individual package.