R gputools:gcc:错误:无法识别的命令行选项'-Wp'

Posted

技术标签:

【中文标题】R gputools:gcc:错误:无法识别的命令行选项\'-Wp\'【英文标题】:R gputools: gcc: error: unrecognized command line option ‘-Wp’R gputools:gcc:错误:无法识别的命令行选项'-Wp' 【发布时间】:2016-04-25 05:54:36 【问题描述】:

我在 R 中安装 gputools 时出错,我无法通过谷歌找到任何解决方案。 我使用命令install.packages("gputools")

  /usr/local/cuda/bin/nvcc -c -Xcompiler "-fpic -I/usr/local/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" -I. -I"/usr/local/cuda/include" -I"/usr/lib64/R/include" rinterface.cu -o rinterface.o
gcc: error: unrecognized command line option ‘-Wp’
make: *** [rinterface.o] Error 1
ERROR: compilation failed for package ‘gputools’

有人可以帮我吗?我的 gpu 卡是由

01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2)

【问题讨论】:

如何从您传递给编译器的主机编译器选项中删除有问题的逗号/协议? @talonmies。我不懂你说什么。我在 R 控制台中使用命令 install.packages("gputools") 因此该 R 包的设置包含正在传递给您的主机 gcc 的编译器选项,它不理解。要么自己移除它们,要么向制作包裹的人报告。我在这里没有看到 CUDA 编程问题,所以我将删除标签 @MikeBrown。只是好奇。你有没有想过这个。我遇到了同样的问题。我正在尝试在 centos 7 上运行它。 @BillMan。我没有弄清楚这一点。我仍在寻找解决方案。 【参考方案1】:

好的,我通过几个 hack 来解决这个问题。这是针对 centos 7 的。

通过查看邮件列表解决了第一个问题。 https://github.com/nullsatz/gputools/issues/12

编辑 Makefile,并修改 'CFLAGS 行:将 '\' 放在 'Wp' 之后和 ',' 之前

CFLAGS = -O2 -g -pipe -Wall -Werror=format-security -Wp\,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc -switches -m64 -mtune=generic

第二个问题是没有找到 R 共享库。我尝试在驱动程序配置文件和命令行中设置 LD_LIBRARY_PATH ,但这不起作用。

我最终得到了以下 hack:

cd /usr/local/cuda/lib64 && ln -s /usr/lib64/R/lib/libR.so libR.so

我使用以下命令构建(注意 tar.gz 文件现在包含修改后的 Makefile)

R CMD INSTALL --configure-args="--with-nvcc=/usr/local/cuda/bin/nvcc --with-r-lib=/usr/lib64/" ./gputools_1. 0.tar.gz

我知道这很难看,但它似乎有效。

【讨论】:

在你把'\'放在'Wp'之后和','之前,你对文件夹gputools做了什么?你又拉上拉链了吗?如果我从 tar.gz 文件安装软件包,它会显示相同的错误。 我找不到 Makefile 在哪里。即使我运行 'grep -r "Wp" 。从解压缩的文件中。 Makefile 在哪里,或者我如何生成它?【参考方案2】:

你的makefile好像有错别字

-Wp,-D_FORTIFY_SOURCE=2

具体来说,逗号 (',') 只能是空格 (' ')。

请尝试一下,然后报告给我们,让我们知道发生了什么

【讨论】:

它有效。问题是如何安装包。再次从解压文件夹gputools 或tar.gz 文件?

以上是关于R gputools:gcc:错误:无法识别的命令行选项'-Wp'的主要内容,如果未能解决你的问题,请参考以下文章

gcc:错误:无法识别的命令行选项“-mfpu=neon-vfpv4”

cc1plus:错误:无法识别的命令行选项'-std = c ++ 11'Ubuntu gcc 4.7

gcc mismatched-tags 选项给出“无法识别的命令行选项”

gcc:错误:选项'-mabi = aapcs-linux'中无法识别的参数

Windows - 使用 mingw 进行 pip 安装 - 失败 - cc1.exe:错误:无法识别的命令行选项“-mno-cygwin”

错误 ['\+' 是在创建 R 包时以“\+”开头的字符串中无法识别的转义