当我尝试执行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
:
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
,并将所有c++11
事件都更改为gnu++0x
。我也尝试将其更改为gnu++11
,c++0x
和c++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 R CMD config $VAR
进行以下设置CXX11 CXX11FLAGS CXX11FLAGS CXX11PICFLAGS and CXX11STD
时,出现以下错误:
ERROR: no information for variable 'CXX11STD'
等
我没有要覆盖的本地Makeconf
。例如~/.R/Makeconf
不存在。
我尝试设置环境变量,并让它们检查它们是否存在:
Sys.setenv("CXX11STD"="-std=g++11")
Sys.getenv("CXX11STD")
可以正常工作。但是然后我尝试再次安装软件包,它仍然给我同样的错误。
答案 0 :(得分:0)
克隆其仓库并按如下所示更新其配置文件。
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")