Ubuntuのgnuアームツールチェーンをインストールしようとしています。最初にCodeSourceryからtarをダウンロードしました。ただし、binフォルダーに移動すると、どのバイナリも実行できません。 ./なしでPATHに入れてみましたが、「Command not Found」と表示され続けますが、ファイルは目の前のフォルダーにあります。それから、Sudo apt-get install gcc-arm-linux-gnueabiを試しましたが、正常にインストールされたと表示された後、whereis gcc-arm-linux-gnueabiで見つけることができません。誰でも助けることができますか?
64ビットOSでコンパイルしていますか?試してください:
Sudo apt-get install ia32-libs
Raspberry Piカーネルをコンパイルしようとすると、同じ問題が発生しました。 Ubuntu 12.04 64ビットでクロスコンパイルしていましたが、64ビットシステムで動作するにはツールチェーンにia32-libsが必要です。
http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/ を参照してください
修正、使用:
Sudo apt-get install gcc-arm*
CodeSourceryの規則では、言及するarm-none-linux-gnueabi-
ではなく、すべての実行可能ファイルに接頭辞gcc-arm-linux-gnueabi
を使用します。したがって、CodeSourcery gccの標準名はarm-none-linux-gnueabi-gcc
になります。
CodeSourcery G ++をインストールしたら、CodeSourceryディレクトリをPATH
に追加する必要があります。
通常、/opt/arm-2010q1
などのディレクトリにCodeSourceryをインストールすることを好みます。インストールした場所がわからない場合は、locate arm-none-linux-gnueabi-gcc
を使用して検索できますが、locate
が正常に機能する前に、Sudo updatedb
を使用して検索データベースを強制的に更新する必要があります。 。
CodeSourceryがインストールされている場所を特定したら、次のように~/.bashrc
を編集してPATHを追加します。
PATH=/opt/arm-2010q1/bin:$PATH
また、定義することは慣習的で非常に便利です
CROSS_COMPILE=arm-none-linux-gnueabi-
.bashrc
では、CROSS_COMPILE
が定義されているため、ほとんどのツールは何もせずにARMコンパイルに適切なコンパイラーを自動的に使用します。
64ビットOSを使用している場合は、この追加のライブラリをインストールする必要があります。
Sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
vMの下でUbunto 14.04.0364bitでRaspberry Piカーネルをクロスコンパイルしようとすると、同じエラーが発生しました。解決策が見つかりました ここ :
-Ubuntuボックスでクロスコンパイルに使用するパッケージをインストールします。
Sudo apt-get install gcc-arm-linux-gnueabi make git-core ncurses-dev
-ツールチェーンをダウンロードする
cd ~
git clone https://github.com/raspberrypi/tools
-ツールチェーンをパスに追加します
PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
pathコマンドのx64バージョンに注意してください
私も同じ問題に直面しており、次の依存関係をインストールした後に解決しました。
Sudo apt-get install lib32z1-dev
Ubuntuまたはdebianの64ビットビルドを使用している場合(例: 'cat/proc/version'を参照)、クローンを作成した場合は、単に64ビットクロスコンパイラを使用する必要があります
git clone https://github.com/raspberrypi/tools
次に、64ビットツールがあります
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
そのディレクトリをgcc-toolchainに使用します。私が従ったコンパイルのための有用なチュートリアルはここにあります Raspberry Pi Kernelのビルドとコンパイル (上記の-x64パスを$ {CCPREFIX}として使用します)
それは少し反直感的です。ツールチェーンはgcc-arm-linux-gnueabiと呼ばれます。ツールを呼び出すには、次を実行します。arm-linux-gnueabi-xxx
ここで、xxxはgccまたはarまたはldなどです
X86_64ユーザーランドを実行しているボックスにi686用にコンパイルされたツールチェーンをインストールしました。
I686 VMを使用します。
次のコマンドを試してください。
which gcc-arm-linux-gnueabi
コマンドが/usr/bin
にインストールされている可能性が高いです。