13,007
回編集
49行目: | 49行目: | ||
<br><br> | <br><br> | ||
== | == GLIBC(GNU C Library)のインストール == | ||
現在使用しているGLIBCのバージョンを確認する。<br> | |||
ls -l /lib/libc-* | ls -l /lib/libc-* | ||
<br> | <br> | ||
まず、GLIBCのインストールディレクトリおよびビルドディレクトリを作成する。<br> | |||
mkdir -p ~/InstallSoftware/GLIBC/build | mkdir -p ~/InstallSoftware/GLIBC/build | ||
cd ~/InstallSoftware/GLIBC | cd ~/InstallSoftware/GLIBC | ||
<br> | <br> | ||
GLIBCをダウンロードして解凍する。<br> | |||
wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.xz | wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.xz | ||
または | または | ||
64行目: | 64行目: | ||
tar xf glibc-x.xx.tar.gz | tar xf glibc-x.xx.tar.gz | ||
<br> | <br> | ||
<u>次に、環境変数<code>LD_LIBRARY_PATH</code>を空にする。</u><br> | |||
LD_LIBRARY_PATH="" | LD_LIBRARY_PATH="" | ||
<br> | <br> | ||
ビルドディレクトリに移動して、GLIBCをビルドおよびインストールする。<br> | |||
cd build | cd build | ||
../glibc-x.xx/configure --prefix= | ../glibc-x.xx/configure --prefix=<GLIBCのインストールディレクトリ> \ | ||
CC= | CC=/<GCCのインストールディレクトリ>/bin/gcc \ | ||
CXX= | CXX=/<GCCのインストールディレクトリ>/bin/g++ \ | ||
--host=x86_64-linux-gnu --enable-add-ons=libidn, --without-selinux \ | --host=x86_64-linux-gnu --enable-add-ons=libidn, --without-selinux \ | ||
--enable-stack-protector=strong --enable-multi-arch --with-binutils= | --enable-stack-protector=strong \ | ||
--enable-multi-arch \ | |||
--with-binutils=<Binutilsのインストールディレクトリ> # 必要な場合 | |||
make -j | make -j $(nproc) | ||
make install | make install | ||
<br> | <br> | ||
次に、Linuxカーネルのヘッダファイルをダウンロードしてインストールする。<br> | |||
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git | git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git | ||
cd linux | cd linux | ||
make headers_install INSTALL_HDR_PATH= | make headers_install INSTALL_HDR_PATH=<GLIBCのインストールディレクトリ> | ||
<br> | <br> | ||
最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | 最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | ||
これにより、/home/ユーザ名/InstallSoftware/GLIBCディレクトリにおいて、システムファイルを使用する準備が整う。<br> | これにより、/home/ユーザ名/InstallSoftware/GLIBCディレクトリにおいて、システムファイルを使用する準備が整う。<br> | ||
# パッケージ管理システムによりインストールしたGCCを使用する場合 | # パッケージ管理システムによりインストールしたGCCを使用する場合 | ||
cp -r /lib64/libgcc* | cp -r /lib64/libgcc* /<GLIBCのインストールディレクトリ>/lib64 | ||
# ホームディレクトリにインストールしたGCCを使用する場合 | # ホームディレクトリにインストールしたGCCを使用する場合 | ||
cp -r /<GCCのインストールディレクトリ>/libgcc* | cp -r /<GCCのインストールディレクトリ>/libgcc* /<GLIBCのインストールディレクトリ>/lib64 | ||
<br> | <br> | ||
Linux | Linux x86やUbuntuの場合、lib64ディレクトリではなく、libディレクトリを使用する必要がある。<br> | ||
<br><br> | <br><br> | ||