簡體   English   中英

如何修復R“錯誤:沒有有關變量'CXX11','CXX11STD'和'CXX11FLAGS'的信息”

[英]How to fix R “ERROR: no information for variable 'CXX11', 'CXX11STD' and 'CXX11FLAGS'”

當我嘗試執行install.packages("seqminer") ,出現以下錯誤:

configure: CC = gcc -std=gnu99
configure: CFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
configure: CXX = ERROR: no information for variable 'CXX1X' ERROR: no information for variable 'CXX1XSTD'
configure: CXXFLAGS = ERROR: no information for variable 'CXX1XFLAGS'
checking whether the C++ compiler works... no
configure: error: in `/tmp/Rtmp2qP3iH/R.INSTALL6ffb49156e3b/seqminer':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
ERROR: configuration failed for package ‘seqminer’

我嘗試了所有可以在線找到的解決方案,但我不希望將gpp降級,因為我需要使用此版本。 到目前為止,我/etc/R/Makeconf像這樣編輯了/etc/R/Makeconf

CC = gcc -std=gnu99
CFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CPICFLAGS = -fpic
CPPFLAGS = 
CXX = c++
CXXCPP = $(CXX) -E
CXXFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXXPICFLAGS = -fpic
CXX11 = g++
CXX11FLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
CXX11PICFLAGS = -fpic
CXX11STD = -std=gnu++0x

總之,我將所有CXX1X CXX11都更改為CXX11並將所有c++11 CXX11都更改為gnu++0x 我也嘗試將其更改為gnu++11c++0xc++11 它們都不起作用。 我現在遇到的錯誤幾乎相同:

configure: CC = gcc -std=gnu99
configure: CFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g
configure: CXX = ERROR: no information for variable 'CXX11' ERROR: no information for variable 'CXX11STD'
configure: CXXFLAGS = ERROR: no information for variable 'CXX11FLAGS'
checking whether the C++ compiler works... no
configure: error: in `/tmp/Rtmp2qP3iH/R.INSTALL6ffb49156e3b/seqminer':
configure: error: C++ compiler cannot create executables
See `config.log' for more details
ERROR: configuration failed for package ‘seqminer’

我的版本:我在這台機器上使用Ubuntu 16.04。 我的R版本是:3.2.3。 gcc / g ++ / c ++版本為:(Ubuntu 5.4.0-6ubuntu1〜16.04.11)5.4.0 20160609

我找不到config.log

當我嘗試使用VARS CXX11 CXX11FLAGS CXX11FLAGS CXX11PICFLAGS and CXX11STD這些設置來進行R CMD config $VAR ,出現以下錯誤: ERROR: no information for variable 'CXX11STD'等。

我沒有要覆蓋的本地Makeconf 例如~/.R/Makeconf不存在。

我嘗試設置環境變量並使它們檢查它們是否存在:

Sys.setenv("CXX11STD"="-std=g++11")
Sys.getenv("CXX11STD")

可以正常工作。 但是,然后我嘗試再次安裝軟件包,它仍然給我同樣的錯誤。

克隆其倉庫,並按如下所示更新其配置文件。

git clone https://github.com/zhanxw/seqminer.git /tmp/seqminer
cd /tmp/seqminer
vim configure

注釋掉配置文件中的這些行,因為這些變量的設置不正確。

CC=`"${R_HOME}/bin/R" CMD config CC`
CFLAGS=`"${R_HOME}/bin/R" CMD config CFLAGS`
CXX11=`"${R_HOME}/bin/R" CMD config CXX11`
CXX11STD=`"${R_HOME}/bin/R" CMD config CXX11STD`
CXX11FLAGS=`"${R_HOME}/bin/R" CMD config CXX11FLAGS`
CXX="${CXX11} ${CXX11STD}"

在R會話中從本地源安裝軟件包。

install.packages("/tmp/seqminer", repos=NULL, type="source")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM