📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
159行目: 159行目:
最後に、PCを再起動する。<br>
最後に、PCを再起動する。<br>
<br>
<br>
==== GCCの設定 ====
==== GCCの設定 ====
GCCをソースコードからインストールした場合、共有ライブラリが/<GCCのインストールディレクトリ>/lib64に作成されるが、環境変数のパスが設定されていない。<br>
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ファイルに<code>/<GCCのインストールディレクトリ/lib64</code>を追記することで、システム全体がライブラリを認識する。<br>
/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>
以下に示すように、<code>/<GCCのインストールディレクトリ/lib64</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.pyは、pythonのスクリプトであるが、これを共有ライブラリとして認識していることが原因である。<br>
これは、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ファイルに<code>include ld.so.conf.d/*.conf</code>と設定されている。<br>
また、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>