|
|
| 489行目: |
489行目: |
| gawk bison openssl flex figlet pigz ncurses-devel ncurses5-devel texinfo | | gawk bison openssl flex figlet pigz ncurses-devel ncurses5-devel texinfo |
| <br> | | <br> |
| Raspberry Pi専用のGCC ARMツールチェインをダウンロードする。<br>
| | <u>GCC ARMツールチェーンにおいて、GCC 8以降が必要である</u><br> |
| https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/<br>
| | Linaroは、アップストリームビルドのスナップショットをユーザに提供するGNUツールチェーン・インテグレーションビルドを毎月提供している。<Br> |
| <center>
| | これらのビルドにより、開発者はビルド済みバイナリの機能をアップストリームですぐにテストすることができる。<br> |
| {| class="wikitable" style="background-color:#fefefe;"
| |
| |+ 表. GCC ARMツールチェーンのダウンロード
| |
| |-
| |
| ! style="background-color:#00ffff;" | Raspberry Piの種類
| |
| ! style="background-color:#00ffff;" | Raspbian Stretch(32-bit)
| |
| ! style="background-color:#00ffff;" | Raspbian Buster(32-bit)
| |
| |-
| |
| | Raspberry Pi Zero/W/WH<br>Raspberry Pi 1 Model A / B / A+ / B+
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%206.3.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-6.3.0-pi_0-1.tar.gz/download 6.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%209.3.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-9.3.0-pi_0-1.tar.gz/download 9.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%2010.2.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-10.2.0-pi_0-1.tar.gz/download 10.2.0]
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%208.3.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-8.3.0-pi_0-1.tar.gz/download 8.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%209.3.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-9.3.0-pi_0-1.tar.gz/download 9.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%2010.2.0/Raspberry%20Pi%201%2C%20Zero/cross-gcc-10.2.0-pi_0-1.tar.gz/download 10.2.0]
| |
| |-
| |
| | Raspberry Pi 2 Model A / B<br>Raspberry Pi 3 Model A / B
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%206.3.0/Raspberry%20Pi%202%2C%203/cross-gcc-6.3.0-pi_2-3.tar.gz/download 6.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%209.3.0/Raspberry%20Pi%202%2C%203/cross-gcc-9.3.0-pi_2-3.tar.gz/download 9.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%2010.2.0/Raspberry%20Pi%202%2C%203/cross-gcc-10.2.0-pi_2-3.tar.gz/download 10.2.0]
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%208.3.0/Raspberry%20Pi%202%2C%203/cross-gcc-8.3.0-pi_2-3.tar.gz/download 8.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%209.3.0/Raspberry%20Pi%202%2C%203/cross-gcc-9.3.0-pi_2-3.tar.gz/download 9.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%2010.2.0/Raspberry%20Pi%202%2C%203/cross-gcc-10.2.0-pi_2-3.tar.gz/download 10.2.0]
| |
| |-
| |
| | Raspberry Pi 3 Model A+ / B+<br>Raspberry Pi 4 Model A+ / B+<br>Raspberry Pi Compute 3 / 3lite / 3+
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%206.3.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-6.3.0-pi_3%2B.tar.gz/download 6.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%209.3.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-9.3.0-pi_3%2B.tar.gz/download 8.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%2010.2.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-10.2.0-pi_3%2B.tar.gz/download 10.2.0]
| |
| | style="text-align:center;" | [https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%208.3.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-8.3.0-pi_3%2B.tar.gz/download 8.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%209.3.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-9.3.0-pi_3%2B.tar.gz/download 9.3.0]<br>[https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Buster/GCC%2010.2.0/Raspberry%20Pi%203A%2B%2C%203B%2B%2C%204/cross-gcc-10.2.0-pi_3%2B.tar.gz/download 10.2.0]
| |
| |}
| |
| </center>
| |
| <br> | | <br> |
| また、Linero社が提供しているGCC ARMツールチェーンも使用することができる。<br>
| | Linero社が提供しているGCC ARMツールチェーンをダウンロードする。<br> |
| https://releases.linaro.org/components/toolchain/binaries/<br>
| |
| wget https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
| |
| tar xf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
| |
| <br> | | <br> |
| 上表にあるGCC ARM 8.3.0ツールチェーンが動作しない場合、以下のURLにあるGCC ARM 8.3.0ツールチェーンを試すこともできる。<br>
| | <u>※注意</u><br> |
| https://bugfreeblog.page.link/rasplinuxgcc830
| | <u>クロスコンパイラのlibstdc++.so.6ファイルにおいて、Raspberry Pi OSのlibstdc++.so.6ファイルのバージョンと同等または古いものを使用する必要がある。</u><br> |
| | <u>例えば、Raspberry Pi OS Bullseyeのlibstdc++.so.6ファイルはGLIBCXX_3.4.28までであるため、GCC 10ツールチェーン、または、それ以前のものを使用する。</u><br> |
| <br> | | <br> |
| GCC ARMツールチェインを解凍して、任意のディレクトリに配置する。<br> | | GCCツールチェーン群 : https://snapshots.linaro.org/gnu-toolchain/ |
| ここでは、~/InstallSoftware/GCC_ARMディレクトリに配置している。<br>
| | GCC 10.2 (Bullseye 32ビット向け) : https://snapshots.linaro.org/components/toolchain/binaries/10.2-2021.01-3/arm-linux-gnueabihf/ |
| mv cross-gcc-10.2.0-pi_3+.tar.gz GCC_Raspbian_Buster32_10_2_0 | | # 32ビット向け |
| cd GCC_Raspbian_Buster32_10_2_0 ~/InstallSoftware/GCC_ARM
| | tar xf gcc-linaro-<バージョン>-x86_64_arm-linux-gnueabihf.tar.xz |
| | |
| | # 64ビット向け |
| | tar xf gcc-linaro-<バージョン>-x86_64_aarch64-linux-gnu.tar.xz |
| | <br> |
| | また、開発者がGCC ARMツールチェーンを作成する場合、[[インストール - GCC#クロスコンパイラ向けGCCツールチェーンのインストール]]を参照すること。<br> |
| <br> | | <br> |
| GCC ARMツールチェーンは、システム固有のLTO(Link Time Optimization)フラグを使用して構築されているため、<br> | | GCC ARMツールチェーンは、システム固有のLTO(Link Time Optimization)フラグを使用して構築されているため、<br> |