【Linux】gcc インストール時に出るエラーへの対処
# linux
Linuxの環境構築って真似するだけでも最初は大変ですよね。がんばりましょう。がんまります。助けてください
基本的なことでも詰まると大変なので残しておきます。
gccとは
GCCとは、GNUプロジェクトが開発および配布している、さまざまなプログラミング言語のコンパイラ集のことである。
とのことです。Pythonを使った場合は機械学習のフレームワークを使用する際など、高速化のために裏側C言語等で処理されている場合がありますが、そのようなライブラリを使用する際に必要となってくるパッケージです。
インストール方法
apt-get install gcc
これだけで行けるはずだったのにエラーが出て悩まされました…
# apt-get install gcc
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-8 gcc-8 libasan5
libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libgcc-8-dev libgomp1
libisl19 libitm1 liblsan0 libmpc3 libmpfr6 libmpx2 libquadmath0 libtsan0
libubsan1 linux-libc-dev manpages manpages-dev
Suggested packages:
binutils-doc cpp-doc gcc-8-locales gcc-multilib make autoconf automake
libtool flex bison gdb gcc-doc gcc-8-multilib gcc-8-doc libgcc1-dbg
libgomp1-dbg libitm1-dbg libatomic1-dbg libasan5-dbg liblsan0-dbg
libtsan0-dbg libubsan1-dbg libmpx2-dbg libquadmath0-dbg glibc-doc
man-browser
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-8 gcc gcc-8
libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libgcc-8-dev
libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpfr6 libmpx2 libquadmath0
libtsan0 libubsan1 linux-libc-dev manpages manpages-dev
0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.4 MB of archives.
After this operation, 135 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://deb.debian.org/debian buster/main amd64 manpages all 4.16-2 [1295 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 binutils-common amd64 2.31.1-16 [2073 kB]
Err:3 http://security.debian.org/debian-security buster/updates/main amd64 linux-libc-dev amd64 4.19.37-5+deb10u1
404Not Found [IP: 151.101.88.204 80]
Get:4 http://deb.debian.org/debian buster/main amd64 libbinutils amd64 2.31.1-16 [478 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 binutils-x86-64-linux-gnu amd64 2.31.1-16 [1823 kB]
Get:6 http://deb.debian.org/debian buster/main amd64 binutils amd64 2.31.1-16 [56.8 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 libisl19 amd64 0.20-2 [587 kB]
Get:8 http://deb.debian.org/debian buster/main amd64 libmpfr6 amd64 4.0.2-1 [775 kB]
Get:9 http://deb.debian.org/debian buster/main amd64 libmpc3 amd64 1.1.0-1 [41.3 kB]
Get:10 http://deb.debian.org/debian buster/main amd64 cpp-8 amd64 8.3.0-6 [8914 kB]
Get:11 http://deb.debian.org/debian buster/main amd64 cpp amd64 4:8.3.0-1 [19.4 kB]
Get:12 http://deb.debian.org/debian buster/main amd64 libcc1-0 amd64 8.3.0-6 [46.6 kB]
Get:13 http://deb.debian.org/debian buster/main amd64 libgomp1 amd64 8.3.0-6 [75.8 kB]
Get:14 http://deb.debian.org/debian buster/main amd64 libitm1 amd64 8.3.0-6 [27.7 kB]
Get:15 http://deb.debian.org/debian buster/main amd64 libatomic1 amd64 8.3.0-6 [9032 B]
Get:16 http://deb.debian.org/debian buster/main amd64 libasan5 amd64 8.3.0-6 [362 kB]
Get:17 http://deb.debian.org/debian buster/main amd64 liblsan0 amd64 8.3.0-6 [131 kB]
Get:18 http://deb.debian.org/debian buster/main amd64 libtsan0 amd64 8.3.0-6 [283 kB]
Get:19 http://deb.debian.org/debian buster/main amd64 libubsan1 amd64 8.3.0-6 [120 kB]
Get:20 http://deb.debian.org/debian buster/main amd64 libmpx2 amd64 8.3.0-6 [11.4 kB]
Get:21 http://deb.debian.org/debian buster/main amd64 libquadmath0 amd64 8.3.0-6 [133 kB]
Get:22 http://deb.debian.org/debian buster/main amd64 libgcc-8-dev amd64 8.3.0-6 [2298 kB]
Get:23 http://deb.debian.org/debian buster/main amd64 gcc-8 amd64 8.3.0-6 [9452 kB]
Get:24 http://deb.debian.org/debian buster/main amd64 gcc amd64 4:8.3.0-1 [5196 B]
Get:25 http://deb.debian.org/debian buster/main amd64 libc-dev-bin amd64 2.28-10 [275 kB]
Get:26 http://deb.debian.org/debian buster/main amd64 libc6-dev amd64 2.28-10 [2691 kB]
Get:27 http://deb.debian.org/debian buster/main amd64 manpages-dev all 4.16-2 [2232 kB]
Fetched 34.2 MB in 4s (7876 kB/s)
E: Failed to fetch http://security.debian.org/debian-security/pool/updates/main/l/linux/linux-libc-dev\_4.19.37-5+deb10u1\_amd64.deb**404Not Found [IP: 151.101.88.204 80]**
E: Unable to fetch some archives, maybe run apt-get update or try with —fix-missing?
こんな感じで404Not Foundエラーが発生していました。
いや公式サービスでNot Foundって何やねん…
インストール時にエラーが起きる原因
私の場合の解決方法は単純で、以下のコマンドを実行でエラーを解決することが出来ました。
sudo apt-get update //パッケージの一覧やダウンロード先を最新のものにする(パッケージ自体は更新されない)
Not Foundエラーの原因は、こんな感じでパッケージのダウンロード先が変わることのようです。
debian-archive Debian の古いディストリビューションのいずれかにアクセスする必要がある場合には、 Debian アーカイブ http://archive.debian.org/debian/ で見付けることができます。
そのため、sudo apt-get update できちんとダウンロード先もきちんと最新化することで正常に出来るようになるのです。
っていうかエラーの内容にもこれ実行せよってちゃんと書いてありますね… 既存環境をDockerに移行したかったので避けていましたが、このコマンドを実行してもパッケージ自体は更新されないので、きちんと実行してあげましょう。