GCC无法找到cc1plus

10
我正在尝试在CentOS 6上安装Python包Pandas,但遇到了使用gcc编译器的问题。
sudo pip install pandas
...    
creating build/temp.linux-x86_64-2.7/pandas/msgpack

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -D__LITTLE_ENDIAN__=1 -Ipandas/src/msgpack -Ipandas/src/klib -Ipandas/src -I/opt/rh/python27/root/usr/lib64/python2.7/site-packages/numpy/core/include -I/opt/rh/python27/root/usr/include/python2.7 -c pandas/msgpack/_packer.cpp -o build/temp.linux-x86_64-2.7/pandas/msgpack/_packer.o -Wno-unused-function

gcc: error trying to exec 'cc1plus': execvp: No such file or directory

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
...

所以看起来我需要cc1plus,通过阅读周围的内容需要gcc-g++。但是我已经有了gcc-c++:
sudo yum install gcc-c++
...
Package gcc-c++-4.4.7-16.el6.x86_64 already installed and latest version
Nothing to do

关于gcc和cc1plus:

gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)

which gcc
/opt/rh/devtoolset-2/root/usr/bin/gcc

locate cc1plus
/usr/libexec/gcc/x86_64-redhat-linux/4.4.4/cc1plus

以下是我自己的解决方案。有没有更好的方法来解决这个问题?

1个回答

13

我自己的问题的解决方案: 看起来 cc1plus 虽然存在,但由于不在路径上,因此对于 gcc 来说不可见。因此一个解决方法是将 cc1plus 链接到 PATH 上的一个目录。

sudo ln -s /usr/libexec/gcc/x86_64-redhat-linux/4.4.4/cc1plus /usr/local/bin/

现在sudo pip install pandas已经成功了。

(但是为什么软件包管理器一开始要安装cc1plus呢?)


2
这确实在紧急情况下有帮助。但是,人们应该查看是否安装了多个版本的 gcc。这在今天早些时候 Salt 添加了 gcc72 时发生了对我来说。我在我的 Jenkins 实例上有一个状态文件,其中包含 yum groupinstall Development Tools 和 gcc 7.2.1 在设置 Salt 运行时被添加到软件包列表中。快速查看 /usr/libexec/gcc/x86_64-amazon-linux/7 下会显示此版本不可用 cc1plus。同时,/usr/libexec/gcc/x86_64-amazon-linux/4.8.5 确实有 cc1plus 存在。 - Sergio
@Sergio 谢谢你的评论。它拯救了我的理智。 - westonplatter
是的,这不是解决这个问题最干净的方式。手动安装二进制文件符号连接在未来会带来麻烦。 - ryeager

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接