13,063
回編集
| 14行目: | 14行目: | ||
<br> | <br> | ||
まず、glibcをコンパイルするディレクトリを作成する。<br> | まず、glibcをコンパイルするディレクトリを作成する。<br> | ||
mkdir -p ~/ | mkdir -p ~/InstallSoftware/GLIBC/build | ||
cd ~/ | cd ~/InstallSoftware/GLIBC | ||
<br> | <br> | ||
glibcをダウンロードして解凍する。(glibc-x.xxディレクトリが作成される)<br> | glibcをダウンロードして解凍する。(glibc-x.xxディレクトリが作成される)<br> | ||
wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar. | wget http://ftp.gnu.org/gnu/glibc/glibc-x.xx.tar.xz | ||
または | または | ||
git clone git://sourceware.org/git/glibc.git | git clone git://sourceware.org/git/glibc.git | ||
tar | tar xf glibc-x.xx.tar.gz | ||
<br> | <br> | ||
<code>LD_LIBRARY_PATH</code>の環境変数を空にする。<br> | <code>LD_LIBRARY_PATH</code>の環境変数を空にする。<br> | ||
| 31行目: | 31行目: | ||
makeコマンドとmake installコマンドを実行する。<br> | makeコマンドとmake installコマンドを実行する。<br> | ||
cd build | cd build | ||
../glibc | ../glibc/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-multi-arch | --enable-stack-protector=strong --enable-obsolete-rpc --enable-obsolete-nsl --enable-multi-arch | ||
<br> | <br> | ||
| 38行目: | 38行目: | ||
<br> | <br> | ||
glibcをインストールする。<br> | glibcをインストールする。<br> | ||
make install DESTDIR=/home/ユーザ名/ | make install DESTDIR=/home/ユーザ名/InstallSoftware/GLIBC | ||
<br> | <br> | ||
これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、<br> | これで、ビルドされたglibcが/home/ユーザ名/glibc/glibc-<バージョン名>ディレクトリにインストールされて、<br> | ||
| 47行目: | 47行目: | ||
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=/home/ユーザ名/ | make headers_install INSTALL_HDR_PATH=/home/ユーザ名/InstallSoftware/GLIBC/usr | ||
<br> | <br> | ||
最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | 最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | ||
これにより、/home/ユーザ名/ | これにより、/home/ユーザ名/InstallSoftware/GLIBCディレクトリにおいて、システムファイルを使用する準備が整う。<br> | ||
sudo cp /lib64/libgcc* /home/ユーザ名/ | sudo cp /lib64/libgcc* /home/ユーザ名/InstallSoftware/GLIBC/lib64/ | ||
<br> | <br> | ||
Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。<br> | Linux x86やUbuntuにおいて、lib64ではなく、libを使用する必要がある。<br> | ||