2021年12月21日火曜日

[linuxクロスコンパイル]sudo makeではまった

こんにちは、針山散策を今日もほのぼのと行います。

今日は、imx8mp evkのアプリを

linux環境でクロスコンパイルで

makeさせてみました。

しかし、生成された実行ファイルを

imx8mpの載っているボードで実行させる

とバイナリとして認識してしまう現象が

発生しました。

原因はarm64bitで認識できるelfファイル

を想定していたのに、

x86(インテル)のelfが生成されていたからでした。

readelf -a 実行ファイル | head-10

にしてあげることで、

ゴールをMachineパラメータが

aarch64になったら完了にしました。

試行錯誤してみました。

3日もあれこれ調査してみました。

結局のところ、

exportで環境変数に設定していても、

sudo make

を行っていたため、

権限違いで、環境変数が不完全な状態で

ビルドをかけて上記のような現象が出ていました。

makeする際はsudoはつけないようにしましょう。

若しくは全てsudo付けるか。




にならなかった。

3日も、試行錯誤したのですが

make

ovaファイルで提供されたので、

ローカルPCにインポートしましたが、1時間近くかかりました。(124GB)