私はベテランのCプログラマーではありませんが、時々Cコードをコンパイルします。
前回、正常にCコードをコンパイルして実行したとき、現在と同じシステムで実行しました(まったく同じマシン上のまったく同じOS、OSのアンインストール/再インストールは行われませんでした)。私はそれを約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/
また、helloファイルをgcc-4.3 hello.c -o hello
でコンパイルしようとしましたが、動作します。ただし、cmake
コマンドを実行できず、さらにリポジトリからのパッケージのダウンロードとビルドがgcc: error trying to exec 'cc1': execvp: No such file or directory
で失敗します(cmakeとdpkgはgccの代わりにgcc-4.3を使用する方法を知らないためだと思います)。
-
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- *など)を削除するように注意していました。しないでください。
Gccを削除してから再インストールしてください。
Sudo apt-get purge gcc
Sudo apt-get update
Sudo apt-get install gcc
これで問題が解決するはずです。