无法在 Xubuntu 下编译任何 C 代码

无法在 Xubuntu 下编译任何 C 代码

我不是一位经验丰富的 C 程序员,但有时我会编译一些 C 代码。

上次我成功编译并运行一些 C 代码时,是在我现在使用的同一系统上进行的(同一台机器上的同一操作系统,没有发生操作系统卸载/重新安装)。我大约在 2 个月前这样做了。

现在,如果我尝试编译哪怕一个非常简单的代码,如下所示:

#include <stdio.h>

main () {
        printf("Hello");
        return 0;
}

我得到:

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

输出如下gcc -v -Wall

    Using built-in specs.
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5.1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --e

nable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) 
COLLECT_GCC_OPTIONS='-v' '-Wall' '-mtune=generic'
 cc1 -quiet -v h1.c -D_FORTIFY_SOURCE=2 -quiet -dumpbase h1.c -mtune=generic -auxbase h1 -Wall -version -fstack-protector -o /tmp/ccOlexzJ.s
gcc: error trying to exec 'cc1': execvp: No such file or directory

我不知道我的系统发生了什么。

系统状况:

--

uname -svrmpio

Linux 2.6.32-40-generic #87-Ubuntu SMP Tue Mar 6 00:56:56 UTC 2012 x86_64 unknown unknown GNU/Linux

--

lsb_release -rd:

Description:    Ubuntu 10.04.4 LTS
Release:    10.04

--

apt-cache policy gcc-4.4(我不知道这个命令是做什么的):

Installed: 4.4.3-4ubuntu5.1
  Candidate: 4.4.3-4ubuntu5.1
  Version table:
 *** 4.4.3-4ubuntu5.1 0
        500 http://se.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
        500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
        500 http://archive.ualinux.com/ubuntu/ lucid/main Packages
        100 /var/lib/dpkg/status
     4.4.3-4ubuntu5 0
        500 http://se.archive.ubuntu.com/ubuntu/ lucid/main Packages

--

ls -l /usr/lib/gcc/i486-linux-gnu/4.4/

ls: cannot access /usr/lib/gcc/i486-linux-gnu/4.4/: No such file or directory

--

gcc --version

gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

--

dpkg -s build-essential:

Package: build-essential
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 48
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Version: 11.4build1

--

locate cc1

(ECRYPTFS references omitted):
/usr/lib/gcc/amd64-mingw32msvc/4.4.2/cc1
/usr/lib/gcc/i586-mingw32msvc/4.4.2/cc1
/usr/lib/gcc/x86_64-linux-gnu/4.1/cc1
/usr/lib/gcc/x86_64-linux-gnu/4.3/cc1
/usr/lib/gcc/x86_64-linux-gnu/4.4/cc1

--

编辑:

env

TERM=xterm
SHELL=/bin/bash
CUDA_HOME=/usr/local/cuda
LD_LIBRARY_PATH=:/usr/local/cuda/lib64
GLADE_MODULE_PATH=:/usr/lib/glade3/modules
DEFAULTS_PATH=/usr/share/gconf/xubuntu.default.path
XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg
DESKTOP_SESSION=xubuntu
PATH=/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/bin
GDM_KEYBOARD_LAYOUT=us
LANG=en_US.utf8
MANDATORY_PATH=/usr/share/gconf/xubuntu.mandatory.path
GDMSESSION=xubuntu
SHLVL=1
GTK_PATH=:/usr/lib/gtk-2.0
XDG_DATA_DIRS=/etc/xdg/xdg-xubuntu:/usr/local/share:/usr/share
LESSOPEN=| /usr/bin/lesspipe %s
DISPLAY=:0.0
LIBGLADE_MODULE_PATH=:/usr/lib/libglade/2.0
GLADE_CATALOG_PATH=:/usr/share/glade3/catalogs
COLORTERM=gnome-terminal
_=/usr/bin/env

--

编辑2:

编译命令直接在终端中发出(无需 Python 或其他)。

--

gcc --print-search-dirs

install: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/
programs: =/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/libexec/gcc/x86_64-linux-gnu/4.4.3/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/bin/
libraries: =/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../x86_64-linux-gnu/4.4.3/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/:/lib/x86_64-linux-gnu/4.4.3/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/4.4.3/:/usr/lib/../lib/:/usr/lib/x86_64-linux-gnu/x86_64-linux-gnu/4.4.3/:/usr/lib/x86_64-linux-gnu/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/x86_64-linux-gnu/

我也尝试编译你好文件,gcc-4.3 hello.c -o hello它可以工作。但是,我无法运行cmake命令,而且从存储库下载和构建软件包失败gcc: error trying to exec 'cc1': execvp: No such file or directory(我猜是因为 cmake 和 dpkg 不知道如何使用 gcc-4.3 而不是 gcc)。

--

sudo ldconfig

/sbin/ldconfig.real: File /usr/local/cuda/lib/libcurand.so is empty, not checked.
/sbin/ldconfig.real: file /usr/local/cuda/lib/libcusparse.so.4 is truncated

/sbin/ldconfig.real: file /usr/local/cuda/lib/libcusparse.so is truncated

/sbin/ldconfig.real: file /usr/local/cuda/lib/libcusparse.so.4.0.12 is truncated

/sbin/ldconfig.real: File /usr/local/cuda/lib/libcurand.so.4.0.12 is empty, not checked.
/sbin/ldconfig.real: File /usr/local/cuda/lib/libcurand.so.4 is empty, not checked.

也许该问题与系统上安装的 CUDA 有关?

我尝试重新安装 build-essential,但没有用。我还尝试重新安装 C 预处理器 (cpp),但系统警告说它将删除许多核心包(如 acpi-support、xserver-xorg-* 等),所以我没有这么做。

答案1

尝试删除 gcc 并重新安装。

去除:

sudo apt-get purge gcc

要再次安装:

sudo apt-get update
sudo apt-get install gcc

这应该可以解决问题。

答案2

我遇到了同样的问题。就我而言,它与 GNU C 预处理器有关,我不小心删除了文件 /usr/bin/cpp-4.6 和目录 /usr/lib/gcc/i686-linux-gnu/4.6。最后,我重新安装了 GNU C 预处理器,它就起作用了。对于你的情况,请转到https://ftp7.de.netbsd.org/pub/releases.ubuntu.com/ubuntu/pool/main/g/gcc-4.4/,并下载文件cpp-4.4_4.4.3-4ubuntu5.1_amd64.deb,也许它可以起作用。

相关内容