「インストール - GLIBC」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
9行目: | 9行目: | ||
glibcをダウンロードして解凍する。(glibc-x.xxディレクトリが作成される)<br> | glibcをダウンロードして解凍する。(glibc-x.xxディレクトリが作成される)<br> | ||
wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.gz | wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.gz | ||
または | |||
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> | |||
makeコマンドとmake installコマンドを実行する。<br> | |||
cd build | cd build | ||
../glibc-src/configure --prefix=/ | ../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 | |||
<br> | <br> | ||
glibcをコンパイルする。<br> | |||
make -j 8 | make -j 8 | ||
<br> | <br> | ||
glibcをインストールする。<br> | |||
make | make install DESTDIR=/home/ユーザ名/glibc/glibc-<バージョン名> | ||
<br> | |||
これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、<br> | |||
それに対して実行するアプリケーションをビルドすることができる。<br> | |||
<u>ビルドは、/usrディレクトリの--prefixオプションで設定されたパスからの相対的な設定ファイルを参照することを覚えておくこと。</u><br> | |||
<br> | |||
次に、Linuxカーネルのヘッダファイル群が必要になるので、ダウンロードしてインストールする。<br> | |||
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 | |||
<br> | |||
最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | |||
これにより、/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにシステムファイルを使用する準備が整う。<br> | |||
sudo cp /lib64/libgcc* /home/ユーザ名/glibc/glibc-<バージョン名>/lib64/ | |||
<br> | |||
Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。<br> | |||
<br><br> | <br><br> | ||
2020年10月14日 (水) 02:45時点における版
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 または 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-<バージョン名>ディレクトリにインストールされて、
それに対して実行するアプリケーションをビルドすることができる。
ビルドは、/usrディレクトリの--prefixオプションで設定されたパスからの相対的な設定ファイルを参照することを覚えておくこと。
次に、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-x.xxを使用するために、環境パスを通す。
sudo vi /etc/ld.so.conf
# /etc/ld.so.confファイル /<glibcのインストールディレクトリ>/lib64 /<glibcのインストールディレクトリ>/lib
設定を反映させるため、再起動する。