「DeveloperWiki:ツールチェーンのメンテナンス」の版間の差分
ナビゲーションに移動
検索に移動
(言語間リンクの追加) |
|||
(同じ利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
[[Category:DeveloperWiki]] |
[[Category:DeveloperWiki]] |
||
[[en:DeveloperWiki:Toolchain maintenance]] |
[[en:DeveloperWiki:Toolchain maintenance]] |
||
+ | このページは Arch Linux でツールチェーンをブートストラップすることに関する全ての情報を含むことを意図していて、 |
||
− | This page is intended to contain all relevant information to bootstrap the toolchain on Arch Linux, |
||
+ | 予期されるあらゆる問題や、重要なツールチェーンパッケージの新しいバージョンがリリースされたときのビルドの順番の |
||
− | including any issues that are expected to be found, as well as providing documentation on the build order |
||
+ | ドキュメントを提供することを含みます。 |
||
− | when new versions of important toolchain packages are released. |
||
+ | ツールチェーンのビルド順は以下です: |
||
− | The toolchain build order is as follows: |
||
linux-api-headers -> glibc -> binutils -> gcc -> binutils -> glibc |
linux-api-headers -> glibc -> binutils -> gcc -> binutils -> glibc |
||
11行目: | 11行目: | ||
==Linux Api Headers== |
==Linux Api Headers== |
||
− | + | {{Pkg|linux-api-headers}} により提供されます。 |
|
+ | これはツールチェーンの一番目のステップです。 |
||
− | It is the first step on the toolchain. |
||
==GNU C Library== |
==GNU C Library== |
||
− | + | {{Pkg|glibc}} により提供されます。 |
|
+ | ツールチェーンの二番目のステップで、新しい gcc がリビルドされた後にリビルドする必要もあります。 |
||
− | Second step of the toolchain, also, it needs to be rebuilt after a new gcc rebuild. |
||
+ | so のバージョンの変更に関わらず、新しい glibc の後にリビルドを必要とする、{{Pkg|valgrind}} のようなパッケージもあります。 |
||
− | There are some packages that require a rebuild after a new glibc, regardless of a so bump, such as {{Pkg|valgrind}}. |
||
==GNU Binutils== |
==GNU Binutils== |
||
− | + | {{Pkg|binutils}} により提供されます。 |
|
+ | ツールチェーンの三番目のステップで、新しい glibc のリリースと新しい gcc のリリースの後の2回リビルドする必要があります。 |
||
− | Third step of the toolchain, also it needs to be rebuilt twice on new glibc releases and also after a new gcc release. |
||
==GNU Compiler Collection== |
==GNU Compiler Collection== |
||
− | + | {{Pkg|gcc}} により提供されます。 |
|
+ | ツールチェーンの最後の (または初めの) ステップで、全体のビルドに必要不可欠です。gcc のアップデートは binutils と glibc、 |
||
− | Last (or first) step of the toolchain, and vital to building its entirety. Its update triggers a binutils and glibc rebuild, |
||
− | + | {{Pkg|linux}} 自身や {{Pkg|libtool}} といった他のパッケージのリビルドを必要とします。 |
|
+ | カーネルは gcc の設定フラグを詳細に確認します。つまり、パッケージリリースの間で何かフラグが変わった場合、gcc のバージョンが同じでも、 |
||
− | The kernel has a strict check on gcc configure flags. So, if any flags are changed between package releases, even if it is the |
||
+ | '''カーネルのリビルドが必要です'''。 |
||
− | same gcc version, a '''kernel rebuild is required'''. |
2020年6月8日 (月) 10:31時点における最新版
このページは Arch Linux でツールチェーンをブートストラップすることに関する全ての情報を含むことを意図していて、 予期されるあらゆる問題や、重要なツールチェーンパッケージの新しいバージョンがリリースされたときのビルドの順番の ドキュメントを提供することを含みます。
ツールチェーンのビルド順は以下です:
linux-api-headers -> glibc -> binutils -> gcc -> binutils -> glibc
Linux Api Headers
linux-api-headers により提供されます。
これはツールチェーンの一番目のステップです。
GNU C Library
glibc により提供されます。
ツールチェーンの二番目のステップで、新しい gcc がリビルドされた後にリビルドする必要もあります。
so のバージョンの変更に関わらず、新しい glibc の後にリビルドを必要とする、valgrind のようなパッケージもあります。
GNU Binutils
binutils により提供されます。
ツールチェーンの三番目のステップで、新しい glibc のリリースと新しい gcc のリリースの後の2回リビルドする必要があります。
GNU Compiler Collection
gcc により提供されます。
ツールチェーンの最後の (または初めの) ステップで、全体のビルドに必要不可欠です。gcc のアップデートは binutils と glibc、 linux 自身や libtool といった他のパッケージのリビルドを必要とします。
カーネルは gcc の設定フラグを詳細に確認します。つまり、パッケージリリースの間で何かフラグが変わった場合、gcc のバージョンが同じでも、 カーネルのリビルドが必要です。