Install only 64 bit version of packages

My main work desktop is a virtual fully-updated Windows 10 64-bit system. As I have said before, I have tried to explain to the sysop that installing both 32-bit and 64-bit R is a waste of time, since the whole system is 64-bit. But he worries that another user may want to run things in 32-bit Windows. So space in my partition, and time spent on personal library updates is, I think, wasted with the 32-bit stuff. I'd like, at least, to install only 64-bit versions of packages where a 64-bit version is available. Someone recommended that I use the option 'INSTALL_opts = '--no-multiarch'
but that succeeded in installing only the 32-bit version. Is there a variant on this that will install only the 64-bit version?
Larry Hunsicker

That option will install the package for the architecture currently in use, so that suggests you have set R 32bit as default.

Copied from the start-up text:

R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

It seems to be that I am running the 64-bit R. So is RStudio. Is there an option that asks which architecture to favor?

In the global options

Are you really that short of space? I can't believe that the 32-bit installs are actually that big.

The space of the 32-bit interpreter is almost irrelevant but having to maint an unnecessary 32-bit R package library is a considerable waste of time and possible source of installation issues.

I'm not at all knowledgable in this area, but I just want to point out that the mingw cross compiler, does blurrr the boundaries around the bitness.
The number '32' does appear in the string 'Platform: x86_64-w64-mingw32/x64 (64-bit)' after all... (even though '64' is in there 4 times).
It seems if the user on their 64 bit system, with no multi-arch set, has useable 32bit binaries as a result, and not 64bit, can we say with certainty that they are worse off than if the sole version they had was '64bit' ? Is there some memory limit or performance hit entailed ? I don't know, just asking questions ! :smiley:

How do we determine the 32/64ness of installed version ?
Im curious to see on my windows system, for some randomly selected packages I use

Yes. I had also found that. Mine reads, "[Default] [64-bit] C:\Program Files\R\R-4.1.0" So it seems that I am, indeed, running 64-bit by choice. But when I tried this on a ctsem install, it compiled the 32-bit version but not the 64-bit version. Odd.

Odd indeed, Do you have any custom startup file (i.e. .Rprofile or .Renviron)?

On windows you get separate R installation and library folders for each architecture.

I'm looking on windows, perhaps in the wrong place...
My first though was to look at my .libPaths()
I have

.libPaths()
[1] "C:/Users/NirGraham/Documents/R/R-3.6.3/library"

and inside this path are windows folders with the names of packages I use. e.g. dplyr.
I can't tell from that the 32/64 flavour.

I'm running:

> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

which is I think the platform in question, and I never messed with any nomultiarch flags...

I have never bothered about what happen with user level library folders on Windows because I don't use them at all, I was talking about the default system level library folders, that was a big oversight on my part. Since the libpaths are set per architecture you could open R 32bit and run .libPaths() to find out. I can't do it since I only install the x64 version to avoid issues.

None in my personal desktop. At the system level, I went to c:\Program Files\R\R-4.1.0\etc where I found a file: Rcmd_environ. The first line in that file was: "# R_PLATFORM='i386-pc-mingw32'". You will note that this line was commented out. I am definitely running 64-bit R

sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server x64 (build 14393)

But this raises the question, what if I put the 64-bit version of this line into my rprofile file?

so it sounds like if in R studio general options, the architecture [64bit] is clearly there next to the chosen R version for Rstudio to use, the user lhunsicker can assume he has 64bit binaries, or whatever else. The only counter to that, might be that lhunsicker declared that they had the 32bit binaries, but didnt explain how they came to that understanding. (or if they explained, the explanation passed me by)

nirgrahamuk:
lhunsicker declared that they had the 32bit binaries, but didnt explain how they came to that understanding.

When this issue arose a few days ago, I attempted to update the package ctsem. The update completed for the 32-bit version, but then failed for the 64 bit version. As you may know, the ctsem install from source generates miles of text. So to try to find the failure point, I tried installing ctsem with the 'INSTALL_opts = '--no-multiarch' option. That installed the 32-bit version of the update with no problems, but didn't try to install the 64-bit version.

In any case, this AM the ctsem update from source worked without a hitch. I think that there is something inconsistent in the way our cluster accesses user files. Sometimes my .libPaths() lists my personal library directly, and sometimes it seems to be a subdirectory of the system recycle bin. I suspect when a package install from source fails, .libPaths() lists the recycle bin subdirectory. This aliasing may well screw up the install. I have to have a few more examples of this issue. If I confirm it, I'll discuss this with our sysop.

Thanks all for your comments.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.