Install binary packages on RHEL8 from POSIT Package Manager

Hello,

as documented under Setup | Package Manager
I try to download pre-compiled binary packages for my Red Hat Enterprise Linux 8 environment, via NEXUS.

On NEXUS I've configured following Repository URL https://packagemanager.posit.co/cran/linux/centos8/latest

The download works, but I'm a bit surprised that the packages still need to be compiled.

$ /usr/lib64/R/bin/R --no-restore --slave --no-save --no-restore-history -e 'install.packages("geometry", lib="/appexec/r/lib_user", repos="https://<NEXUS_SERVER>/repository/r-proxy")'
trying URL 'https:/<NEXUS_SERVER>/repository/r-proxy/src/contrib/geometry_0.5.2.tar.gz'
Content type 'application/x-gzip' length 1148238 bytes (1.1 MB)
==================================================
downloaded 1.1 MB

* installing *source* package ‘geometry’ ...
** package ‘geometry’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: ‘gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)’
using C++ compiler: ‘g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)’
g++ -std=gnu++17 -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection   -c QuadTree.cpp -o QuadTree.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rconvhulln.c -o Rconvhulln.o
g++ -std=gnu++17 -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection   -c RcppExports.cpp -o RcppExports.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rdelaunayn.c -o Rdelaunayn.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rgeometry.c -o Rgeometry.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rhalfspacen.c -o Rhalfspacen.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rinhulln.c -o Rinhulln.o
g++ -std=gnu++17 -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection   -c Rtsearch.cpp -o Rtsearch.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rtsearch_orig.c -o Rtsearch_orig.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c Rtsearchn.c -o Rtsearchn.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c geom2_r.c -o geom2_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c geom_r.c -o geom_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c geometry_init.c -o geometry_init.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c global_r.c -o global_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c io_r.c -o io_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c libqhull_r.c -o libqhull_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c mem_r.c -o mem_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c merge_r.c -o merge_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c poly2_r.c -o poly2_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c poly_r.c -o poly_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c qset_r.c -o qset_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c random_r.c -o random_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c rboxlib_r.c -o rboxlib_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c stat_r.c -o stat_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c user_r.c -o user_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c usermem_r.c -o usermem_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c userprintf_r.c -o userprintf_r.o
gcc -I"/usr/include/R" -DNDEBUG -DR_NO_REMAP -I'/appexec/r/lib_user/Rcpp/include' -I'/appexec/r/lib/RcppProgress/include' -I/usr/local/include   -include Rgeometry.h -fpic  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection  -c userprintf_rbox_r.c -o userprintf_rbox_r.o
g++ -std=gnu++17 -shared -L/usr/lib64/R/lib -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o geometry.so QuadTree.o Rconvhulln.o RcppExports.o Rdelaunayn.o Rgeometry.o Rhalfspacen.o Rinhulln.o Rtsearch.o Rtsearch_orig.o Rtsearchn.o geom2_r.o geom_r.o geometry_init.o global_r.o io_r.o libqhull_r.o mem_r.o merge_r.o poly2_r.o poly_r.o qset_r.o random_r.o rboxlib_r.o stat_r.o user_r.o usermem_r.o userprintf_r.o userprintf_rbox_r.o -L/usr/lib64/R/lib -lR
installing to /appexec/r/lib_user/00LOCK-geometry/00new/geometry/libs
** R
** demo
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package ‘geometry’
    finding HTML links ... done
    Unique                                  html
    bary2cart                               html
    cart2bary                               html
    cart2pol                                html
    cart2sph                                html
    convhulln                               html
    delaunayn                               html
    distmesh2d                              html
    distmeshnd                              html
    dot                                     html
    entry.value                             html
    extprod3d                               html
    feasible.point                          html
    halfspacen                              html
    inhulln                                 html
    intersectn                              html
    matmax                                  html
    mesh.dcircle                            html
    mesh.diff                               html
    mesh.drectangle                         html
    mesh.dsphere                            html
    mesh.hunif                              html
    pol2cart                                html
    polyarea                                html
    rbox                                    html
    sph2cart                                html
    surf.tri                                html
    tetramesh                               html
    to.mesh3d                               html
    trimesh                                 html
    tsearch                                 html
    tsearchn                                html
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (geometry)

The downloaded source packages are in
        ‘/tmp/RtmpekjKpc/downloaded_packages’

We actually wanted to use the POSIT R repository, as pre-compiled binaries for LINUX are offered here. Why do the packages still have to be compiled? In my previous post (see below) it was already confirmed that the POSIT CRAN repo provides pre-compiled binaries for LINUX.
Install binary packages on RHEL9 from POSIT Package Manager - RStudio IDE - Posit Community

Regards
Christopher

The issue that you are very likely facing is the following:

Our instructions on the package manager UI for binary package support are correct but make an assumption that is not met in your case and this is the presence of the R User Agent Header.

Whenver you are pointing to https://packagemanager.posit.co/cran/__linux__/centos8/latest it is this user agent header that figures out which R version is being used. If you now have a NEXUS in between your R session and package manager, this information does not reach package manager and hence package manager falls back to delivering source only.

Any R package does not only need to be built for every supported linux distribution, it also needs to be built for every major R version (e.g. 4.3.x). With the combination of the user agent header the URL (which is an API endpoint) can figure out which particular binary to serve.

I am wondering if you could set the User Agent header as described in HTTP and HTTPS Request and Proxy Settings and Serving Package Binaries - Posit Package Manager ? Please note that you will very likely end up setting up a separate repository for each major R version and needed linux distro on Nexus...

As a matter of completeness, you also could consider using Nexus with a self-hosted version of package manager (cf. Sonatype Nexus Repository - Posit Package Manager). This would make Nexus a true cache with the hosted package manager exposing full capabilities without any workaround of creating multiple repos. You'd also be able to use additional features that are not available on public package manager.

In the first step, I tried to check whether the HTTP user agent in R is configured correctly. To do this, I ran the dignostic script you referenced in your previous post. It doesn't look like it is configured correctly. But I don't understand why it doesn't work. Any idea?

$ grep HTTPUserAgent /usr/lib64/R/etc/Rprofile.site
options(HTTPUserAgent = sprintf("R/%s R (%s)", getRversion(), paste(getRversion(), R.version["platform"], R.version["arch"], R.version["os"])))

$ check-user-agent.R
R installation path: /usr/lib64/R
R version: R version 4.4.0 (2024-04-24)
OS version: Red Hat Enterprise Linux 8.10 (Ootpa)
HTTPUserAgent: R (4.4.0 x86_64-redhat-linux-gnu x86_64 linux-gnu)
Download method: libcurl
Download extra args:

----------------------------

You must configure your HTTP user agent in R to install binary packages.

In your site-wide startup file (Rprofile.site) or user startup file (.Rprofile), add:

# Set default user agent
options(HTTPUserAgent = sprintf("R/%s R (%s)", getRversion(), paste(getRversion(), R.version["platform"], R.version["arch"], R.version["os"])))


Then restart your R session and run this diagnostic script again.

On NEXUS in logback-access.xml I've following Pattern

<pattern>%clientHost %l %user [%date] "%requestURL" %statusCode %header{Content-Length} %bytesSent %elapsedTime "%header{User-Agent}" [%thread]</pattern>

As you can see, the HTTPUserAgent header does not arrive correctly at the NEXUS, which is logical if it is not configured correctly in R.

XXX.XXX.XXX.XXX - - [27/Feb/2025:08:50:13 +0100] "GET /repository/r-proxy/src/contrib/PACKAGES.rds HTTP/1.1" 200 - 999313 15 "libcurl/7.61.1" [qtp816679479-3418]
XXX.XXX.XXX.XXX - - [27/Feb/2025:08:50:15 +0100] "GET /repository/r-proxy/src/contrib/nloptr_2.1.1.tar.gz HTTP/1.1" 200 - 2237527 985 "libcurl/7.61.1" [qtp816679479-3416]

In the output of check-user-agent.R the HTTPUserAgent is not correct.

What you have is the default user agent string, which R automatically replaces with the libcurl... string you see. (Yes, this does seem like a bug in R, but R core won't fix it for some reason.)

Hey Gabor,
Thanks for the quick reply, but do you have any solution for me on how to fix the problem?
Regrads
Christopher

First, try to set the user agent string manually in your R session and see if that helps.

Then try to investigate why setting it in your profile does not work. E.g. make sure that you are running the correct R installation, and make sure that the profile is executed.

Using following Skript the Header is set correctly.

$ date && /usr/lib64/R/bin/R --no-restore --slave --no-save --no-restore-history -e 'getOption("HTTPUserAgent")'
Fri Feb 28 12:28:52 CET 2025
[1] "R/4.4.0 R (4.4.0 x86_64-redhat-linux-gnu x86_64 linux-gnu)"

The Header also arrives in NEXUS Request.log

XXX.XXX.XXX.XXX - - [28/Feb/2025:09:27:11 +0100] "GET /repository/r-proxy/src/contrib/PACKAGES.rds HTTP/1.1" 200 - 1000000 2376 "R/4.4.0 R (4.4.0 x86_64-redhat-linux-gnu x86_64 linux-gnu)" [qtp816679479-3961]
XXX.XXX.XXX.XXX - - [28/Feb/2025:09:27:13 +0100] "GET /repository/r-proxy/src/contrib/geometry_0.5.2.tar.gz HTTP/1.1" 200 - 1148238 453 "R/4.4.0 R (4.4.0 x86_64-redhat-linux-gnu x86_64 linux-gnu)" [qtp816679479-3671]

As @michaelmayer describes, the header from NEXUS was not forwarded to the POSIT Package Manager. So I configured the header manually in the repo settings.

Now I receive binary packages from the POSIT Package Manager and no longer have to compile the sources myself.
I will still try to find out whether I can teach the NEXUS to forward the header dynamically. To prevent the header having to be maintained manually with every OS or R update.
If I find a solution I will post it here.

1 Like