Products | Versions |
---|---|
Spotfire Enterprise Runtime for R | 6.0.0, 6.0.1 and 6.0.2 |
Spotfire Statistics Services | 10.10 through 12.3 |
Spotfire Enterprise Runtime for R - Server Edition | 1.3 through 1.15 |
A Spotfire data function or a TERR script throws the error "Foreign binary rlang could not be loaded" or "Foreign binary Rcpp could not be loaded", while trying to load a user-contributed CRAN package (such as "dplyr" or "tidyr", for example) that has been installed recently using install.packages() or TERR Tools.
This is due to a known third-party issue.
It is fixed in TIBCO Enterprise Runtime for R (TERR) 6.0.3, in the latest Spotfire releases, and in the current Long Term Support (LTS) Spotfire releases' latest client hotfixes.
Cause: Microsoft has retired its MRAN website that published daily historical snapshots of the open-source R community's CRAN repository. This includes the snapshot used by default in a TERR call to install.packages(). The same snapshot is also used in the Spotfire desktop client's "Tools > TERR Tools > Package Management" tab.
https://techcommunity.microsoft.com/t5/azure-sql-blog/microsoft-r-application-network-retirement/ba-p/3707161This is due to a known third-party issue.
It is fixed in TERR 6.0.3.
It is also fixed in the latest client hotfixes for the following desktop clients:
- Spotfire Analyst 11.4.x LTS
- Spotfire Analyst 12.0.x LTS
It is also fixed in the following Spotfire releases:
Spotfire Desktop 11.4.7 LTS
Spotfire Desktop 12.0.4 LTS
Spotfire Desktop 12.5.0
Spotfire Analyst 12.5.0
TSSS 11.4.12 LTS
TSSS 12.0.4 LTS
TSSS 12.3.1
TERRSRV 1.7.10 LTS
TERRSRV 1.12.4 LTS
TERRSRV 1.16.0
.
Product abbreviations:
TERR = TIBCO Enterprise Runtime for R
TSSS = TIBCO Spotfire Statistics Services
TERRSRV = TIBCO Enterprise Runtime for R - Server Edition
.
It also has a workaround (see below).
.
Note:
In the Spotfire Analyst and Spotfire Desktop clients, the "Tools > TERR Tools > Package Management" tab calls TERR's built-in install.packages() and available.packages() functions in the background.
.
(1) Resolution for Spotfire Analyst, by applying the latest Spotfire client hotfix for the current Long Term Support releases:
For Spotfire Analyst 11.4.x LTS and 12.0.x LTS, your Spotfire administrator can correct this issue by applying the latest client hotfix.
Your Spotfire administrator can download the latest Spotfire client hotfixes from links at the following URL:
https://community.tibco.com/s/article/List-of-hotfixes-for-TIBCO-Spotfire-Clients-Analyst-Web-Player-Consumer-Business-Author-and-Automation-Services
.
Client hotfix distributions (*.sdn files) are deployed using Spotfire Server's web-based administration console.
Spotfire client hotfixes are cumulative. For example, each Spotfire 12.0.x LTS client hotfix contains all previous Spotfire 12.0.x LTS client hotfixes.
After the Spotfire administrator has applied the client hotfix, each Spotfire Analyst user will need to close all Spotfire Analyst sessions on the machine, launch a brand new Spotfire Analyst session, login to Spotfire Server, accept updates when prompted to do so, and wait for Spotfire Server to download and install updated client modules into Spotfire Analyst.
NOTE: Your Spotfire administrator can deploy Spotfire ##.#.x client hotfixes without making any changes to Spotfire Server ##.#.x itself.
For example, your Spotfire administrator can deploy Spotfire 12.0.x client hotfixes without making any changes to Spotfire Server 12.0.x itself.
NOTE: By design, the minor version numbers for Spotfire Server and the Spotfire clients do not always match.
The public knowledge base article at the following URL provides additional information:
https://support.tibco.com/s/article/Spotfire-Server-and-Spotfire-clients-are-not-showing-identical-version-numbers
NOTE: Your IT security team may also need to whitelist the following URL in a way that does not require responding to any interactive prompts: https://packagemanager.posit.co/cran/2020-10-15
IMPORTANT NOTE:
Before you apply the latest hotfix for the Spotfire 11.4.x or Spotfire 12.0.x client, you need to ensure that your Spotfire Web Player instances are installed on supported operating system versions.
For example, applying hotfix TS_11.4.7.38 LTS HF-033 while Spotfire Web Player 11.4.x is running on Windows Server 2012 or Windows Server 2012 R2 is known to cause the Web Player to fail with the following error:
CefRuntime.Load failed:System.DllNotFoundException: Unable to load DLL 'libcef': The specified module could not be found.
(Running Spotfire Web Player 11.4.x or Spotfire Web Player 12.0.x on Windows Server 2012 or Windows Server 2012 R2 is not a supported configuration.)
The system requirements for Spotfire Web Player 11.4.x LTS and Spotfire Web Player 12.0.x LTS are available online at the following URLs:
https://docs.tibco.com/pub/spotfire/general/sr/sr/topics/spotfire_web_player_11_4_lts.html
https://docs.tibco.com/pub/spotfire/general/sr/sr/topics/spotfire_web_player_12_0.html
(2) Background:
Microsoft retired its "MRAN" website with daily historical snapshots of the open source R community's CRAN repository on July 1st, 2023.
TERR 6.0.0, 6.0.1 and 6.0.2 use the following historical snapshot from that website to install the best (compatibility tested) versions of user-contributed CRAN packages:
https://cran.microsoft.com/snapshot/2020-10-15
When that website is not available, TERR 6.0.0, 6.0.1 and 6.0.2 throw a "Malformed repository" warning about it, then install newer (often incompatible) package versions from the current CRAN repository at the following URL:
https://cloud.r-project.org
A fix for this issue has already been implemented in TERR 6.0.3.
The latest client hotfixes for Spotfire 11.4.x and Spotfire 12.0.x upgrade the Spotfire Analyst desktop client to use TERR 6.0.3.
(3) Workaround:
For Spotfire Analyst or Spotfire Desktop client versions that still use TERR 6.0.0, 6.0.1 or 6.0.2, you can use the following workaround:
(1) Close all TERR sessions, Spotfire client sessions, and RStudio sessions on the machine, to release file locks on DLL files to be replaced (such as rlang.dll, vctrs.dll and Rcpp.dll).
(2) Launch a brand new Spotfire desktop client session, then launch a TERR Console session using "Tools > TERR Tools > Launch TERR Console".
(3) Paste the following (case sensitive) command into the TERR Console session, and wait for it to finish installing all of the 90+ packages in the "tidyverse" family of highly interdependent CRAN packages (which includes rlang, vctrs, dplyr and tidyr):
#-----
install.packages(
"tidyverse",
repos =
c(
getOption("repos")["TRAN"],
"https://packagemanager.posit.co/cran/2020-10-15",
getOption("repos")["CRAN"]))
#-----
That command mimics the fix implemented in TERR 6.0.3, which uses an equivalent historical snapshot from Posit's website.
(Side note: The company named Posit used to call itself RStudio.)
NOTE: Your IT security team may also need to whitelist the following URL in a way that does not require responding to any interactive prompts: https://packagemanager.posit.co/cran/2020-10-15
NOTE: You can also adapt this workaround for use with other CRAN packages. To do that, replace "tidyverse" with the (case sensitive) name of the CRAN package of interest. For example, use "XML" instead of "tidyverse", or use "tidymodels" instead of "tidyverse".
NOTE: In a TERR Console session, you can use the following (case sensitive) TERR command to display package names and versions for all CRAN packages that have been installed using install.packages() with the workaround:
installed.packages(lib = .libPaths()[-length(.libPaths())])[, "Version"]
(4) A special case for the workaround, in which a data function automatically installs CRAN packages whenever it is run:
For any Spotfire data function that calls install.packages() in its TERR script, you may also need to do one of the following:
(A) Comment out any TERR expression that includes a call to install.packages(),
or
(B) Modify each call to install.packages() so that it uses the workaround.
For example, if a data function's TERR script has a command like this one:
#-----
if(length(NewPackages)) install.packages(NewPackages)
#-----
It will need to be commented out, or changed to use the equivalent CRAN repository snapshot from Posit's site, as follows:
#-----
if(length(NewPackages))
{
install.packages(
NewPackages,
repos =
c(
getOption("repos")["TRAN"],
"https://packagemanager.posit.co/cran/2020-10-15",
getOption("repos")["CRAN"]))
}
#-----
(5) Additional information:
TIBCO Enterprise Runtime for R (TERR) 6.0.3 was released on June 05, 2023 (2023-06-05).
---- TERR 6.0.3 implements the fix for this third-party issue.
TIBCO Spotfire Desktop 11.4.7 LTS and 12.0.4 LTS were released on June 05, 2023.
---- Spotfire Desktop 11.4.7 and Spotfire Desktop 12.0.4 both use TERR 6.0.3 as the built-in TERR engine.
TIBCO Enterprise Runtime for R - Server Edition (TERRSRV) 1.7.10 LTS and 1.12.4 LTS were released on June 05, 2023.
---- TERRSRV 1.7.10 and TERRSRV 1.12.4 both use TERR 6.0.3 as the built-in TERR engine.
TIBCO Spotfire Statistics Services (TSSS) 11.4.12 LTS and 12.0.4 LTS were released on June 13, 2023.
---- TSSS 11.4.12 and TSSS 12.0.4 both use TERR 6.0.3 as the built-in TERR engine.
The latest Spotfire 11.4.x and 12.0.x client hotfixes also upgrade the Spotfire Analyst desktop client's built-in local TERR engine to use TERR 6.0.3.
TIBCO Enterprise Runtime for R - Server Edition (TERRSRV) 1.16.0 was released on June 29, 2023.
---- TERRSRV 1.16.0 uses TERR 6.0.3 as the built-in TERR engine.
TIBCO Spotfire Statistics Services (TSSS) 12.3.1 was released on June 30, 2023.
---- TSSS 12.3.1 uses TERR 6.0.3 as the built-in TERR engine.
TIBCO Spotfire Server 12.5.0 and TIBCO Spotfire Analyst 12.5.0 were both released on June 30, 2023.
---- Spotfire Analyst 12.5.0 uses TERR 6.0.3 as the built-in TERR engine.
TIBCO Spotfire Desktop 12.5.0 was released on June 30, 2023.
---- Spotfire Desktop 12.5.0 uses TERR 6.0.3 as the built-in TERR engine.
NOTE: The standalone Spotfire Desktop client is a separate product that never logs in to Spotfire Server, and it does not receive hotfixes. You download TIBCO Spotfire Desktop from TIBCO's edelivery site (https://edelivery.tibco.com/).
NOTE: By design, Spotfire Web Player and Spotfire Automation Services do not have their own built-in TERR engines. Web Player sessions, Scheduled Updates jobs, and Automation Services jobs must send their data functions' TERR scripts to a TSSS instance or a TERRSRV instance for processing.
NOTE:
You may find the following public knowledge base articles helpful for the task of upgrading TIBCO Spotfire Statistics Services (TSSS) to a newer release:
https://support.tibco.com/s/article/What-is-the-mechanism-for-upgrading-from-one-TSSS-version-to-another
https://support.tibco.com/s/article/How-to-configure-the-TIBCO-Spotfire-Statistics-Services-TSSS-URL-for-use-by-the-Spotfire-Web-Player-and-Automation-Services-clients
================
IMPORTANT NOTE ON DOWNLOADS: For the 05 June 2023 releases, you download the TERR Service (TERRSRV) and the Python Service (PYSRV) distributions (*.sdn files) from the Spotfire Server download area on TIBCO's edelivery site.
(For previous releases, TERRSRV and PYSRV were downloaded from the TIBCO Spotfire Statistics Services (TSSS) download area.)
================
Specifically:
TERRSRV 1.7.10 is downloaded from the Spotfire Server 11.4.11 download area.
TERRSRV 1.12.4 is downloaded from the Spotfire Server 12.0.5 download area.
However:
TERRSRV 1.16.0 is downloaded from the TIBCO Spotfire Statistics Services 12.3.1 download area.
.
=========================
Disclaimer: The script code in this article is only a sample to be used as a reference. It is not intended to be used "As Is" in a Production environment. Always test in a Development environment. Make modifications to the script in accordance with your implementation specifications that best suit your business requirements.
=========================
.
=========================
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 Spotfire product line. As such, user-contributed CRAN packages are not within the scope of your license for any Spotfire product. User-contributed CRAN packages are not supported, maintained, or warranted in any way by Cloud Software Group. 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.
=========================