📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
編集の要約なし |
|||
| 159行目: | 159行目: | ||
最後に、PCを再起動する。<br> | 最後に、PCを再起動する。<br> | ||
<br> | <br> | ||
==== GCCの設定 ==== | ==== GCCの設定 ==== | ||
GCCをソースコードからインストールした場合、共有ライブラリが/<GCCのインストールディレクトリ>/ | GCCをソースコードからインストールした場合、共有ライブラリが <u>/<GCCのインストールディレクトリ>/lib64</u> ディレクトリ内に生成されるが、環境変数が設定されていない。<br> | ||
そのため、以下に示すいずれかの方法で環境変数のパスを通す必要がある。<br> | そのため、以下に示すいずれかの方法で環境変数のパスを通す必要がある。<br> | ||
<br> | |||
* システム全体に設定する場合 | * システム全体に設定する場合 | ||
*: /etc/ld.so.confファイル | *: /etc/ld.so.confファイル | ||
* ユーザごとに設定する場合 | * ユーザごとに設定する場合 | ||
*: ~/.profileファイル等 | *: ~/.profileファイル等 | ||
*: 環境変数<code>LD_LIBRARY_PATH</code>を設定する。 | *: 環境変数 <code>LD_LIBRARY_PATH</code> を設定する。 | ||
<br> | <br> | ||
===== システム全体に設定する場合 ===== | ===== システム全体に設定する場合 ===== | ||
/etc/ld.so.confファイルに< | /etc/ld.so.confファイルに <u>/<GCCのインストールディレクトリ/lib64</u> を追記することで、システム全体がライブラリを認識する。<br> | ||
sudo vi /etc/ld.so.conf | sudo vi /etc/ld.so.conf | ||
<br> | <br> | ||
| 180行目: | 180行目: | ||
ldconfig -v | ldconfig -v | ||
<br> | <br> | ||
<code>ldconfig</code>コマンドを実行した時に表示される情報から、<br> | <code>ldconfig</code> コマンドを実行した時に表示される情報から、<br> | ||
以下に示すように、< | 以下に示すように、<u>/<GCCのインストールディレクトリ/lib64</u> ディレクトリが読み込まれていることを確認する。<br> | ||
/<GCCのインストールディレクトリ>/lib64: | /<GCCのインストールディレクトリ>/lib64: | ||
ldconfig: /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py is not an ELF file - it has the wrong magic bytes at the start. | ldconfig: /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py is not an ELF file - it has the wrong magic bytes at the start. | ||
| 192行目: | 192行目: | ||
libmpxwrappers.so.2 -> libmpxwrappers.so.2.0.1 | libmpxwrappers.so.2 -> libmpxwrappers.so.2.0.1 | ||
<br> | <br> | ||
<code>ldconfig</code>コマンドを実行した結果、以下に示すようなメッセージが表示される場合がある。<br> | <code>ldconfig</code> コマンドを実行した結果、以下に示すようなメッセージが表示される場合がある。<br> | ||
ldconfig: /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py is not an ELF file - it has the wrong magic bytes at the start. | ldconfig: /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py is not an ELF file - it has the wrong magic bytes at the start. | ||
<br> | <br> | ||
これは、libstdc++.so.6.0.25-gdb. | これは、libstdc++.so.6.0.25-gdb.pyはpythonのスクリプトであるが、これを共有ライブラリとして認識していることが原因である。<br> | ||
file /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py | file /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py | ||
| 201行目: | 201行目: | ||
<br> | <br> | ||
対処方法としては、該当ファイルの名前を変更して、共有ライブラリと認識されないようする。<br> | 対処方法としては、該当ファイルの名前を変更して、共有ライブラリと認識されないようする。<br> | ||
mv /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py_org | mv /<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py \ | ||
/<GCCのインストールディレクトリ>/lib64/libstdc++.so.6.0.25-gdb.py_org | |||
<br> | <br> | ||
再度、<code>ldconfig</code>コマンドを実行する。<br> | 再度、<code>ldconfig</code> コマンドを実行する。<br> | ||
ldconfig -v | ldconfig -v | ||
<br> | <br> | ||
また、RHELおよびSUSEの場合、/etc/ld.so.confファイルに< | また、RHELおよびSUSEの場合、/etc/ld.so.confファイルに <u>include ld.so.conf.d/*.conf</u> と設定されている。<br> | ||
これは、ld.so.conf.dディレクトリ内のconf拡張子をもつファイルの内容を読み込むという意味である。<br> | これは、ld.so.conf.dディレクトリ内のconf拡張子をもつファイルの内容を読み込むという意味である。<br> | ||
<br> | <br> | ||
| 235行目: | 236行目: | ||
上記の設定を反映させるため、PCを再起動または再ログインする。<br> | 上記の設定を反映させるため、PCを再起動または再ログインする。<br> | ||
<br> | <br> | ||
==== libstdc++を入れ替える場合 ==== | ==== libstdc++を入れ替える場合 ==== | ||
<u>この手順を行う場合、システムが不安定になる可能性があることに注意する。</u><br> | <u>この手順を行う場合、システムが不安定になる可能性があることに注意する。</u><br> | ||
| 268行目: | 268行目: | ||
sudo zypper install expect-devel gmp-devel mpc-devel mpfr-devel | sudo zypper install expect-devel gmp-devel mpc-devel mpfr-devel | ||
<br> | <br> | ||
==== PinePhone (AArch64) (システムルートあり) ==== | ==== PinePhone (AArch64) (システムルートあり) ==== | ||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | ||
| 325行目: | 324行目: | ||
make install-strip | make install-strip | ||
<br> | <br> | ||
==== Rsdpberry Pi 32bit (システムルートあり) ==== | ==== Rsdpberry Pi 32bit (システムルートあり) ==== | ||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | ||
| 476行目: | 474行目: | ||
make install-strip | make install-strip | ||
<br> | <br> | ||
==== RISC-V 64bit (システムルートあり) ==== | ==== RISC-V 64bit (システムルートあり) ==== | ||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | ||
| 522行目: | 519行目: | ||
make install-strip | make install-strip | ||
<br> | <br> | ||
==== RISC-V 64bit (Newlibを使用する場合) ==== | ==== RISC-V 64bit (Newlibを使用する場合) ==== | ||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | ||