Probleem
Hun zijn een paar R pakketten beschikbaar op CRAN die statisch moeten gekoppeld R bibliotheken die deel van de basis-R uitmaken om de installatie.
Wij bouwen op dit moment geen revolutie R zodanig dat deze statische bibliotheken voor R wordt gemaakt. Met name de R-pakketten 'Rserve' en 'PreMiuM' afhankelijk zijn van deze statische bibliotheken voor R - er zijn enkele andere R pakketten ook.
Een manier om te zien of het pakket dat u probeert te installeren moet statische R-bibliotheken is te kijken naar de uitvoer gegenereerd wanneer u probeert te installeren met de functie 'install.packages()'. Als er een regel met een verwijzing naar '< RHOME/lib64/R/lib "lR-' en waarschijnlijk hebben het pakket moet de statische bibliotheken met R.
Voorbeeld (uitvoer uit te voeren 'install.packages')
g ++-gedeeld -L/usr/local/lib64 - o PReMiuM.so PReMiuM.o postProcess.o -L/opt/revr/revr_7.3/lib64/Revo-7.3/R-3.1.1/lib64/R/lib lR
installeren van /shared/shape_tier3/common/conf/R/library_7.3/PReMiuM/libs
Oplossing
Een tijdelijke oplossing voor nu is het revolutie R 7.4 wachten. In punt 7.4 bieden we een script te compileren en te installeren basis R aan klanten,
'compile_cran_r.sh'. Dit script in een teksteditor bewerken en voeg de vlag:
--enable-R-statische-lib
aan de 'configureren' regel zodat het er als volgt uitziet:
# uitgevoerd configureren
. / configureren--prefix = ${r_prefix}--enable-R-shlib--enable-R-statische-lib--met blas--met-lapack--enable-BLAS-shlib--enable-memory profiling CXXFLAGS = m$ {bitness} = m CFLAGS$ {bitness} FFLAGS = m$ {bitness} LDFLAGS = m$ {bitness} LIBR = "-lpthread" || afsluiten
Nadat u deze wijziging aanbrengt, gaan met een nieuwe installatie van de revolutie R 7.4 na de installatiestappen
in de Linux Installation Guide voor revolutie R onderneming. De bestaande installatie te verwijderen indien nodig en opnieuw installeren
Revolutie R nadat u deze wijziging hebt aangebracht.
Wanneer u de installatie hebt voltooid, probeert u het R-pakket opnieuw te installeren. Deze moet met succes deze keer installeren.