rstudio / r-system-requirements

System requirements for R packages
MIT License
126 stars 24 forks source link

V8 on Centos 7 is wrong? #136

Open gaborcsardi opened 1 year ago

gaborcsardi commented 1 year ago
❯ writeLines(remotes::system_requirements("centos", "7", package = "V8"))
yum install -y epel-release
yum install -y libcurl-devel
yum install -y openssl-devel
yum install -y v8-devel

But on CentOS 7:

[root@c5a7e984e6d8 pkgdepends]# yum install -y epel-release
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.xtom.de
 * epel: mirrors.ptisp.pt
 * extras: mirrors.xtom.de
 * updates: centos-altarch.mirror.liteserver.nl
Package matching epel-release-7-12.noarch already installed. Checking for update.
Nothing to do
[root@c5a7e984e6d8 pkgdepends]# yum install v8-devel
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.xtom.de
 * epel: cdn.centos.no
 * extras: mirrors.xtom.de
 * updates: centos-altarch.mirror.liteserver.nl
No package v8-devel available.
Error: Nothing to do

OTOH, V8 compilation fails on CentOS 7, anyway:

* installing *source* package 'V8' ...
** package 'V8' successfully unpacked and MD5 sums checked
** using staged installation
Using default C++11 compiler:
Target architecture: aarch64
 [100%] Downloaded 12125225 bytes...
Using CXXCPP=g++ -std=gnu++11 -E
Using PKG_CFLAGS=-I/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include
Using PKG_LIBS=-L/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/lib -lv8_monolith
Running feature test for pointer compression...
In file included from /tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-local-handle.h:12:0,
                 from /tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-array-buffer.h:12,
                 from /tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8.h:25,
                 from tools/test.cpp:2:
/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-internal.h: In function 'void v8::internal::PerformCastCheck(T*)':
/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-internal.h:563:33: error: 'remove_cv_t' is not a member of 'std'
             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
                                 ^
/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-internal.h:563:33: error: 'remove_cv_t' is not a member of 'std'
/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-internal.h:563:50: error: template argument 2 is invalid
             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
                                                  ^
/tmp/RtmpCfwTaP/R.INSTALL3061338e3fe3/V8/.deps/include/v8-internal.h:563:61: error: '::Perform' has not been declared
             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
gaborcsardi commented 1 year ago

Actually, this is not an issue on x86_64, where EPEL does have a v8-devel package. Only aarch64 is problematic, which is OK, I guess.