13,136
回編集
編集の要約なし |
|||
| 7行目: | 7行目: | ||
GNU Cライブラリは、下位互換性や移植性があり、高性能なISO Cライブラリになるように設計されている。<br> | GNU Cライブラリは、下位互換性や移植性があり、高性能なISO Cライブラリになるように設計されている。<br> | ||
ISO C11、POSIX.1-2008、IEEE 754-2008を含むすべての関連規格に従うことを目指している。<br> | ISO C11、POSIX.1-2008、IEEE 754-2008を含むすべての関連規格に従うことを目指している。<br> | ||
<br><br> | |||
== 依存関係のライブラリのインストール == | |||
==== Coreutilsのインストール ==== | |||
# [http://ftp.gnu.org/gnu/coreutils Coreutilsの公式Webサイト]にアクセスして、最新のCoreutilsをダウンロードする。 | |||
# ダウンロードしたCoreutilsを解凍して、Coreutilsディレクトリに移動する。 | |||
#: tar xf coreutils-x.xx.tar.xz | |||
# ビルド用ディレクトリを作成して移動する。 | |||
#: mkdir build && cd build | |||
# Coreutilsをビルドおよびインストールするために、以下のコマンドを実行する。 | |||
#: export CFLAGS="-static -O2 -g" | |||
#: <br> | |||
#: ./configure --prefix=/home/<ユーザ名>/InstallSoftware/Coreutils | |||
#: または | |||
#: ./configure --prefix=/home/<ユーザ名>/InstallSoftware/Coreutils \ | |||
#: CC="/<GCCのインストールディレクトリ>/bin/gcc-<バージョン名> -arch i386 -arch x86_64" \ | |||
#: CXX="/<GCCのインストールディレクトリ>/bin/g++-<バージョン名> -arch i386 -arch x86_64" \ | |||
#: CPP="/<GCCのインストールディレクトリ>/bin/gcc-<バージョン名> -E" CXXCPP="/<GCCのインストールディレクトリ>/bin/g++-<バージョン名> -E" | |||
#: <br> | |||
#: make -j 8 | |||
#: <br> | |||
#: make install | |||
<br> | |||
==== Binutilsのインストール ==== | |||
# [https://ftp.gnu.org/gnu/binutils Binutilsの公式Webサイト]にアクセスして、最新のBinutilsをダウンロードする。 | |||
# ダウンロードしたBinutilsを解凍して、Binutilsディレクトリに移動する。 | |||
#: tar xf Binutils-x.xx.tar.xz | |||
# ビルド用ディレクトリを作成して移動する。 | |||
#: mkdir build && cd build | |||
# Binutilsをビルドおよびインストールするために、以下のコマンドを実行する。 | |||
#: export CFLAGS="-static -O2 -g" | |||
#: <br> | |||
#: ./configure --prefix=/home/<ユーザ名>/InstallSoftware/Binutils | |||
#: または | |||
#: ./configure --prefix=/home/<ユーザ名>/InstallSoftware/Binutils \ | |||
#: CC="/<GCCのインストールディレクトリ>/bin/gcc-<バージョン名> -arch i386 -arch x86_64" \ | |||
#: CXX="/<GCCのインストールディレクトリ>/bin/g++-<バージョン名> -arch i386 -arch x86_64" \ | |||
#: CPP="/<GCCのインストールディレクトリ>/bin/gcc-<バージョン名> -E" CXXCPP="/<GCCのインストールディレクトリ>/bin/g++-<バージョン名> -E" | |||
#: <br> | |||
#: make -j 8 | |||
#: <br> | |||
#: make install | |||
<br><br> | <br><br> | ||
| 31行目: | 73行目: | ||
cd build | cd build | ||
../glibc/configure CC=/home/<ユーザ名>/InstallSoftware/GCC/gcc- | ../glibc-x.xx/configure --prefix=/home/<ユーザ名>/Installsoftware/GLIBC \ | ||
--host=x86_64-linux-gnu --enable-add-ons=libidn, --without-selinux --enable-stack-protector=strong --enable-multi-arch | CC=/home/<ユーザ名>/InstallSoftware/GCC/gcc-<バージョン名>/bin/gcc-<バージョン名> \ | ||
CXX=/home/<ユーザ名>/InstallSoftware/GCC/g++-<バージョン名>/bin/gcc-<バージョン名> \ | |||
--host=x86_64-linux-gnu --enable-add-ons=libidn, --without-selinux \ | |||
--enable-stack-protector=strong --enable-multi-arch --with-binutils=/home/<ユーザ名>/InstallSoftware/Binutils | |||
make -j 8 | make -j 8 | ||
| 46行目: | 90行目: | ||
最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | 最後に、GCCのヘルパーライブラリが必要になるので、/lib64ディレクトリからコピーする。<br> | ||
これにより、/home/ユーザ名/InstallSoftware/GLIBCディレクトリにおいて、システムファイルを使用する準備が整う。<br> | これにより、/home/ユーザ名/InstallSoftware/GLIBCディレクトリにおいて、システムファイルを使用する準備が整う。<br> | ||
# パッケージ管理システムによりインストールしたGCCを使用する場合 | |||
cp -r /lib64/libgcc* /home/<ユーザ名>/InstallSoftware/GLIBC/lib64 | |||
# ローカルディレクトリにインストールしたGCCを使用する場合 | |||
cp -r /<GCCのインストールディレクトリ>/libgcc* /home/<ユーザ名>/InstallSoftware/GLIBC/lib64 | |||
<br> | <br> | ||
Linux x86やUbuntuにおいて、lib64ディレクトリではなく、libディレクトリを使用する必要がある。<br> | Linux x86やUbuntuにおいて、lib64ディレクトリではなく、libディレクトリを使用する必要がある。<br> | ||
| 54行目: | 102行目: | ||
新しくインストールしたglibcを使用してソフトウェアを実行する。<br> | 新しくインストールしたglibcを使用してソフトウェアを実行する。<br> | ||
インストールディレクトリにあるtestrun.shを使用して、以下のようにコマンドを実行する。<br> | インストールディレクトリにあるtestrun.shを使用して、以下のようにコマンドを実行する。<br> | ||
/home/ユーザ名/InstallSoftware/GLIBC/build/testrun.sh <実行するソフトウェアのパス> | /home/<ユーザ名>/InstallSoftware/GLIBC/build/testrun.sh <実行するソフトウェアのパス> | ||
<br><br> | <br><br> | ||
== 環境パスの設定 == | == 環境パスの設定 == | ||
インストールしたglibcを使用するために、環境パスを設定する。<br> | |||
sudo vi /etc/ld.so.conf | sudo vi /etc/ld.so.conf | ||
<br> | <br> | ||