バージョンが上がってたので、
# apt-get install build-essential libssl-dev
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-11.2.0/gcc-11.2.0.tar.gz
# tar xzf gcc-11.2.0.tar.gz
# cd gcc-11.2.0
# ./contrib/download_prerequisites
2021-09-17 00:49:04 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840/2383840] -> "gmp-6.1.0.tar.bz2" [1]
2021-09-17 00:49:06 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.6.tar.bz2 [1287202/1287202] -> "mpfr-3.1.6.tar.bz2" [1]
2021-09-17 00:49:07 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925/669925] -> "mpc-1.0.3.tar.gz" [1]
2021-09-17 00:49:09 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291/1658291] -> "isl-0.18.tar.bz2" [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.6.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.18.tar.bz2: OK
All prerequisites downloaded successfully.
# mkdir build
# cd build/
# ../configure --enable-languages=c,c++ --prefix=/usr/local/gcc-11.2.0 --disable-bootstrap
# date; make; date
Fri Sep 17 01:17:54 JST 2021
(中略)
Fri Sep 17 04:14:29 JST 2021
NASを再初期化したせいか、/etc/sudoers が無いので、sudoパッケージをインストしてからsudo設定。
# apt-get install sudo
# chmod +w /etc/sudoers
# vi /etc/sudoers
Defaults secure_path="/usr/l..."
↓
Defaults secure_path="/usr/local/gcc-11.2.0/bin:/usr/l..."
# chmod -w /etc/sudoers
# sudo vi /etc/ld.so.conf.d/arm-gcc-11.2.0.conf
で以下を追記。
# gcc-11.2.0 configuration
/usr/local/gcc-11.2.0/lib
gccのビルド&インストが終わったら・・・
# sudo ldconfig
/sbin/ldconfig.real: /usr/local/gcc-11.2.0/lib/libstdc++.so.6.0.29-gdb.py is not an ELF file - it has the wrong magic bytes at the start.
/sbin/ldconfig.real: /usr/lib/libreadycloud.so.1 is not a symbolic link
新たな敵が出現した?(かも
# ls -l /usr/lib/libreadycloud.so.1
-rwxr-xr-x 1 root root 86568 Jan 8 2021 /usr/lib/libreadycloud.so.1
- 対策1
- /usr/local/gcc-11.2.0/lib/libstdc++.so.6.0.29-gdb.py を削除する。
- rm /usr/local/gcc-11.2.0/lib/libstdc++.so.6.0.29-gdb.p
- /usr/local/gcc-11.2.0/lib/libstdc++.so.6.0.29-gdb.py を削除する。
- 対策2
- /usr/lib/libreadycloud.so.1をリンクファイルに変える。
- rm /usr/lib/libreadycloud.so.1
- WinSCPで同名のリンクファイル(リンク先:libreadycloud.so.1.0.0)を作成。
- /usr/lib/libreadycloud.so.1をリンクファイルに変える。
これはsudoインスト・プロテクトなのか?
それよりもNAS上のエラーが出ている間、アプリのインストやアンスコが失敗判定になっていたから、
これで正しいんだろう。
ソースがかなりの容量(3GB近く)になっているので圧縮。
# tar cvzf gcc-11.2.0_pack.tar.gz gcc-11.2.0/
make install はソースを展開したディレクトリィに特化してる(ハズな)ので再利用時は注意。
おっと、ユーザをsudoグループに追加するのを忘れていた。
# gpasswd -a {ユーザ名} sudo