「インストール - GCC」の版間の差分

ナビゲーションに移動 検索に移動
157行目: 157行目:
GCCをソースコードからインストールした場合、共有ライブラリが/<GCCのインストールディレクトリ>/lib64に作成されるが、環境変数のパスが設定されていない。<br>
GCCをソースコードからインストールした場合、共有ライブラリが/<GCCのインストールディレクトリ>/lib64に作成されるが、環境変数のパスが設定されていない。<br>
そのため、以下に示すいずれかの方法で環境変数のパスを通す必要がある。<br>
そのため、以下に示すいずれかの方法で環境変数のパスを通す必要がある。<br>
* /etc/ld.so.confファイル (システム全体)
* システム全体に設定する場合
* ~/.profileファイル、または、~/.bashrcファイル等 (ユーザごとの設定)
*: /etc/ld.so.confファイル
* ユーザごとに設定する場合
*: ~/.profileファイル等
*: 環境変数<code>LD_LIBRARY_PATH</code>を設定する。
*: 環境変数<code>LD_LIBRARY_PATH</code>を設定する。
<br>
<br>
===== ld.so.confファイルに設定する場合 =====
===== システム全体に設定する場合 =====
/etc/ld.so.confファイルに<code>/<GCCのインストールディレクトリ/lib64</code>を追記することで、Linuxがライブラリを認識する。<br>
/etc/ld.so.confファイルに<code>/<GCCのインストールディレクトリ/lib64</code>を追記することで、システム全体がライブラリを認識する。<br>
  sudo vi /etc/ld.so.conf
  sudo vi /etc/ld.so.conf
<br>
<br>
169行目: 171行目:
  /<GCCのインストールディレクトリ/lib64
  /<GCCのインストールディレクトリ/lib64
<br>
<br>
設定を反映させるため、<code>ldconfig</code>コマンドを実行する。<br>
設定を反映させる。<br>
  ldconfig -v
  ldconfig -v
<br>
<br>
184行目: 186行目:
         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>
198行目: 200行目:
  ldconfig -v
  ldconfig -v
<br>
<br>
また、<u>RHELの場合</u>、/etc/ld.so.confファイルに<code>include ld.so.conf.d/*.conf</code>と設定されているが、<br>
また、RHELおよびSUSEの場合、/etc/ld.so.confファイルに<code>include ld.so.conf.d/*.conf</code>と設定されている。<br>
これは、ld.so.conf.dディレクトリ内のconf拡張子をもつファイルの内容を読み込むという設定である。<br>
これは、ld.so.conf.dディレクトリ内のconf拡張子をもつファイルの内容を読み込むという意味である。<br>
<br>
<br>
ld.so.conf.dディレクトリ内に/<GCCのインストールディレクトリ>/lib64と記述したconfファイルを作成することにより、<br>
システム全体に共有ライブラリのパスを設定するには、/etc/ld.so.conf.dディレクトリ内に該当するライブラリが存在するパスを記述した設定ファイルを作成する。<br>
Linuxに共有ライブラリのパスを認識させることができる。<br>
<br>
<br>
ここでは、/etc/ld.so.conf.d/UserAdd-lib64.confファイルを作成する。<br>
以下の例では、/etc/ld.so.conf.d/00-libstdc++.confファイルを作成している。<br>
  sudo vi /etc/ld.so.conf.d/UserAdd-lib64.conf
  sudo vi /etc/ld.so.conf.d/00-libstdc++.conf
<br>
<br>
  # UserAdd-lib64.confファイル
  # 00-libstdc++.confファイル
   
   
  /<GCCのインストールディレクトリ>/lib64
  /<GCCのインストールディレクトリ>/lib64
<br>
<br>
上記の設定を反映させるため、<code>ldconfig</code>コマンドを実行する。<br>
設定を反映させる。<br>
  ldconfig -v
  ldconfig -v
<br>
<br>
===== .profile / .bashrcに設定する場合 =====
===== 各ユーザごとに設定する場合 =====
この方法は、ユーザごとに設定する必要がある。<br>
この方法は、ユーザごとに設定する必要がある。<br>
<br>
<br>
~/.profileファイル、または、~/.bashrcファイル等に、環境変数<code>LD_LIBRARY_PATH</code>を設定することにより、ユーザがログインする際に設定が読み込まれる。<br>
~/.profileファイル等に環境変数<code>LD_LIBRARY_PATH</code>を設定することにより、ユーザがログインする際に設定が読み込まれる。<br>
  vi ~/.profile
  vi ~/.profile
<br>
<br>
228行目: 229行目:
上記の設定を反映させるため、PCを再起動または再ログインする。<br>
上記の設定を反映させるため、PCを再起動または再ログインする。<br>
<br>
<br>
==== libstdc++を入れ替える場合 ====
==== libstdc++を入れ替える場合 ====
<u>この手順を行う場合、システムが不安定になる可能性があることに注意する。</u><br>
<u>この手順を行う場合、システムが不安定になる可能性があることに注意する。</u><br>

案内メニュー