The need for today’s update is informed by the arrival of R 4.2.0 (“Vigorous Calisthenics”), which has presented some difficulty with the installation of key RQDA dependencies.
In R 4.2 the R Core Team has made 2 changes to the build system/toolset for Windows machines. They are:
- Migration of R builds (as well as package binaries) to the Universal C Runtime (UCRT).
- Changes in Rtools significantly affect how R and packages are built from source.
R and UCRT
As of version 4.2, R is to now switch from MSVCRT to UCRT. This is to enable native encoding of R builds on Windows to UTF-8. This is a welcome development as it makes internationalization easier, but as R Core has admitted, it also presents a few challenges. For a more detailed description of these changes, read this article from cran.r-project.org.
Concerning RQDAassist, some of the archived binaries like RGtk2 required for RQDA are not compatible with R 4.2 since they were built with the old runtime. This is the first problem we encountered. The second problem is discussed in the next section.
In order to build R or any packages from source on Windows, we need Rtools, a collection of compilers, shells utilities, etc. For R 4.2, this toolchain was modified both in its content and behavior. With the failure to install RGtk2 binaries as mentioned earlier, we attempted to build RGtk2 from source (the function RQDAassist::install() provides an argument for both Installation approaches). This also proved to be problematic with Rtools42, particularly when compiling the C code in RGtk2 with the GTK distribution.
Additional work will be required to overcome this challenge and there’s the possibility that an all-out upgrade of RGtk2 itself might be necessary. From the communication by the RGtk2 author, it seems the package was “accidentally” archived on CRAN, so part of the plan is to monitor the conversation before deciding on the next course of action.
One may wonder why I’m going through all this hassle. Why not just abandon RQDA and move on to some other software for qualitative data analysis? Well, I don’t know for sure – call it stubbornness if you will. But I have a team of analysts that have used RQDA working for me since 2019. I’ve invested a lot of time, energy, and money to get to this point where I can use this tool to provide the services for which we get paid.
But it’s also been a tremendous learning experience and I get emails from researchers who need some support to continue using RQDA. I am therefore motivated to do my little bit to help.
Changes to RQDAassist
The current change to RQDAassist is mainly to disable the installation of RQDA on R 4.2 and above. This is expected to be a temporary fix until such a time when we are able to migrate it to a current, upgraded R version.
Other changes include more efficient installation of binary RQDA dependencies like RGtk2 and cairoDevice, more informative messages for users, and a cleaner installation experience. Any attempt , however, to install it on R 4.2 or above will result in the following error message:
ERROR: this R is version 4.2.0, package 'RQDAassist' requires R < 4.2
To install RQDAassist, start your R session and use the following code
if (!requireNamespace("remotes") install.packages("remotes") remotes::install_github("RQDAassist")
To install RQDA, run
and for more information visit the help file with