Update loop for stringi



Why does "strnigi" keep showing up in package updates everyday ? I am in a constant loop going from 1.1.7 to 1.2.4


Is the update actually being installed? This sort of apparent loop can happen when the updated version is available only as source and needs compilation, and you are on a platform (i.e. Windows) that only installs binaries without special intervention. Pasting all the output of install.packages("stringi") and of sessionInfo() (formatted as code :sparkles:, please!) would be helpful for sorting this out.


Is Pastebin ok ?



stringi binary for 1.2.4 is not available, only the source. As you are on windows, it will install by default the binary, so the previous version 1.1.7.
So currently, it is possible that you install 1.1.7 each time instead of 1.2.4.

Have you the tools to build from source on windows (Rtools) ? If so, you can answer yes to built from source when it ask or run install.packages("stringi", type = "source") in a clean session. Only uncertainty: not sure if stringi compile nicely on windows or not.

However, don't worry if you don't have the latest version of stringi. Everything will go fine unless you really the very last change. When it will be available as binary, you will be able to update it.

And if you really need last version, you can follow the workaround mentioned in github issue


so, it will be available as binary some day soon ? I don't really want to get into compiling from source right now.


I guess MAC and / or Linux compile it for you ?


the special intervention as it applies to MAC and / or Linux is they take the source files and compile them
for you on the fly as you install the update ?


There is an issue with building the binary on CRAN for Windows. If you don’t want to compile from source, I think you don’t need last version and you can keep it as is. However, There is a workaround described in the issue I linked to install without compiling from source. A zip had been made available form GitHub as a temporary workaround. Look at the issue.


CRAN only hosts binaries for Windows and Mac, and availability of binaries is not guaranteed.

On Linux, all packages are always compiled from source.

On Mac, by default the user is asked what they want to do (compiling from source will still fail if you don’t have the necessary build tools installed).

On Windows, installing the necessary build tools is non-trivial, so the default is to not even offer the option of installing from source — you need to explicitly pass type = source when you call install.packages() otherwise only the latest binary will be installed regardless of the availability of a later source version.

This is all laid out in more detail in the R Installation and Administration guide.