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

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
10行目: 10行目:
  wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.gz
  wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.gz
  または
  または
   
  git clone git://sourceware.org/git/glibc.git
   
   
  tar zxvf glibc-x.xx.tar.gz -C glibc-src
  tar zxvf glibc-x.xx.tar.gz -C glibc-src
<br>
<br>
ビルド用ディレクトリに移動して、Makeファイルを作成する。<br>
ビルド用ディレクトリに移動して、Makeファイルを作成する。<br>
標準の<code>--prefix=/usr</code>ディレクトリを設定した後、一時的なインストールディレクトリにGNU標準変数DESTDIRを設定して、<br>
標準の<code>--prefix=/usr</code>ディレクトリを設定した後、一時的なインストールディレクトリにGNU標準変数<code>DESTDIR</code>を設定して、<br>
makeコマンドとmake installコマンドを実行する。<br>
makeコマンドとmake installコマンドを実行する。<br>
  cd build
  cd build
29行目: 29行目:
これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、<br>
これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、<br>
それに対して実行するアプリケーションをビルドすることができる。<br>
それに対して実行するアプリケーションをビルドすることができる。<br>
<u>ビルドは、/usrディレクトリの--prefixオプションで設定されたパスからの相対的な設定ファイルを参照することを覚えておくこと。</u><br>
<u>このビルドは、<code>--prefix</code>オプションで指定した/usrディレクトリからの相対的なパスの設定ファイルを参照する。</u><br>
<br>
<br>
次に、Linuxカーネルのヘッダファイル群が必要になるので、ダウンロードしてインストールする。<br>
次に、Linuxカーネルのヘッダファイル群が必要になるので、ダウンロードしてインストールする。<br>
41行目: 41行目:
<br>
<br>
Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。<br>
Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。<br>
<br><br>
== glibcの確認 ==
新しくインストールしたglibcを使用してソフトウェアを実行する。<br>
インストールディレクトリにあるtestrun.shを使用して、以下のようにコマンドを実行する。<br>
./home/ユーザ名/glibc/glibc-<バージョン名>/testrun.sh /path/to/test/application
<br><br>
<br><br>


== 環境パスの設定 ==
== 環境パスの設定 ==
インストールしたglibc-x.xxを使用するために、環境パスを通す。<br>
インストールしたglibc-x.xxを使用するために、環境パスを設定する。<br>
  sudo vi /etc/ld.so.conf
  sudo vi /etc/ld.so.conf
<br>
<br>

2020年10月14日 (水) 03:04時点における版

glibc(GNU C Library)のインストール

現在使用しているglibcのバージョンを確認する。

ls -l /lib/libc-*


まず、glibcをコンパイルするディレクトリを作成する。

mkdir -p ~/glibc/build ~/glibc/glibc-<バージョン名>
cd ~/glibc


glibcをダウンロードして解凍する。(glibc-x.xxディレクトリが作成される)

wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.gz
または
git clone git://sourceware.org/git/glibc.git

tar zxvf glibc-x.xx.tar.gz -C glibc-src


ビルド用ディレクトリに移動して、Makeファイルを作成する。
標準の--prefix=/usrディレクトリを設定した後、一時的なインストールディレクトリにGNU標準変数DESTDIRを設定して、
makeコマンドとmake installコマンドを実行する。

cd build
../glibc-src/configure --prefix=/usr --host=x86_64-linux-gnu --build= --enable-add-ons=libidn, --without-selinux --enable-stackguard-randomization \
--enable-stack-protector=strong --enable-obsolete-rpc --enable-obsolete-nsl --enable-systemtap --enable-multi-arch


glibcをコンパイルする。

make -j 8


glibcをインストールする。

make install DESTDIR=/home/ユーザ名/glibc/glibc-<バージョン名>


これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、
それに対して実行するアプリケーションをビルドすることができる。
このビルドは、--prefixオプションで指定した/usrディレクトリからの相対的なパスの設定ファイルを参照する。

次に、Linuxカーネルのヘッダファイル群が必要になるので、ダウンロードしてインストールする。

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
make headers_install INSTALL_HDR_PATH=/home/ユーザ名/glibc/glibc-<バージョン名>/usr


最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。
これにより、/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにシステムファイルを使用する準備が整う。

sudo cp /lib64/libgcc* /home/ユーザ名/glibc/glibc-<バージョン名>/lib64/


Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。


glibcの確認

新しくインストールしたglibcを使用してソフトウェアを実行する。
インストールディレクトリにあるtestrun.shを使用して、以下のようにコマンドを実行する。

./home/ユーザ名/glibc/glibc-<バージョン名>/testrun.sh /path/to/test/application



環境パスの設定

インストールしたglibc-x.xxを使用するために、環境パスを設定する。

sudo vi /etc/ld.so.conf


# /etc/ld.so.confファイル
/<glibcのインストールディレクトリ>/lib64
/<glibcのインストールディレクトリ>/lib


設定を反映させるため、再起動する。