尝试执行“cc1”时出错:execvp:没有此文件或目录(可能是 SAGE/python 问题)

尝试执行“cc1”时出错:execvp:没有此文件或目录(可能是 SAGE/python 问题)

我看到有很多关于此错误消息的主题,但我尝试了所有找到的解决方案,但都无济于事。这是我在这里的第一个问题,但我将尝试包含其他帖子中有用的所有信息。

我正在尝试安装弗拉马蒂克软件,这是一个与 SAGE 和 Python 配合使用的数学包。但是,我遇到了编译器问题。也就是说,当我运行

sage -python setup.py install

我收到输出:

running install
running build
running build_py
running build_ext
skipping 'flagmatic/flag.c' Cython extension (up-to-date)
building 'flagmatic.flag' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/lib/sagemath/local/include -I/usr/lib/sagemath/local/include/csage -I/usr/lib/sagemath/devel/sage/sage/ext -I/usr/lib/sagemath/devel/sage -I/usr/lib/sagemath/local/include/python2.7 -c flagmatic/flag.c -o build/temp.linux-x86_64-2.7/flagmatic/flag.o -O3 -Wall -Wno-strict-prototypes
**gcc: error trying to exec 'cc1': execvp: No such file or directory
error: command 'gcc' failed with exit status 1**

我把最后一部分加粗以示强调,因为我相信这是我的问题的核心。我重新安装了 build-essential 软件包 (sudo apt-get install build-essential),但无济于事。

gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

g++ --version
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

cc --version
cc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

当我在 sage 中运行编译器 gcc 时,它似乎找不到 cc1。据我所知,cc1 位于:

/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

什么时候这样做:

more /etc/environment

我得到:

PATH="/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib"

似乎由于 /usr/lib 在我的路径中,gcc 应该在那里查找,对吗?当我尝试安装上述软件包时,有没有一种简单的方法可以查看为什么 execvp 找不到 cc1?

如果还有任何关于我的系统规格或任何版本的信息对您有帮助,请告诉我。我将在这里更新编辑内容:

编辑:

gcc -print-prog-name=cc1
/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

apt-cache policy cpp
cpp:
Installed: 4:4.8.2-1ubuntu6
Candidate: 4:4.8.2-1ubuntu6
Version table:
*** 4:4.8.2-1ubuntu6 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status

答案1

你是如何安装 sage 的?如果你使用了 AIMS ppa,看起来他们的 sagemath-upstream-binary 包不包含打包的 gcc 的 cc1 - 但 sagemath-upstream-binary-full 包包含 –steeldriver

这条评论很关键。我卸载了我的 SAGE 版本,并使用了带有 sagemath-upstream-binary-full 包的 AIMS ppa。这解决了我的 CC1 问题。

附录:如果您是因为 flagmatic 出现问题而来到这里,我仍然收到有关 cython 编译失败的错误消息。在文件 hypergraph_flag.pyx 中,我将第 38 行从:

include "cdefs.pxi"

#include "cdefs.pxi"

以防万一您恰好由于 flagmatic 编译错误而遇到此线程。

相关内容