ModdableSDKでesp8266向けのビルドを行う際に「xtensa-lx106-elf-gcc.EXE」がリターン コード ‘0xc0000135’でエラーになる場合の対応

投稿者: | 2020年7月1日

はじめに

Windows 10環境でModdableSDKを使用した開発を行う場合の内容になります。

esp8266向けのビルドを行うためにmcconfig -m -d -p esp -t buildを実行したら以下のようなエラーにより停止してしまう場合があります。

e:\projects\moddable\examples\helloworld>mcconfig -m -d -p esp -t build
# cc xsAll.o (strings in flash + (not) force-l32)
NMAKE : fatal error U1077: 'E:\esp\xtensa-lx106-elf\bin\xtensa-lx106-elf-gcc.EXE' : リターン コード '0xc0000135'
Stop.

※ 例はe:\projects\moddableにModdableSDKをインストールした環境です

原因

環境構築で必要なパスが通っていない可能性があります。

表示されているE:\esp\xtensa-lx106-elf\bin\xtensa-lx106-elf-gcc.EXEを、コピペで実行すると恐らく以下のエラーが表示されると思います。

xtensa-ls106-elf-gcc.exeがcygwinのdllに依存しているが、cygwinへのパスが通っていないことが原因です。

※ 問題なく実行できる場合は、別の問題になります。

対応

パスが通っていないことが原因だったなら以下の対応を行います。

ModdableSDKのリポジトリにあるドキュメントに従って「Cygwin toolchain support package」をインストールした場所にパスを通します。

Moddable SDK – Getting Started

エラーとなっているコマンドプロンプト上で以下のようにしてmcconfigが成功したらシステムの環境変数へ追加しておきます。(専用のバッチファイルにして必要な時だけ実行してもいいかな)

set PATH=%PATH%;%BASE_DIR%\esp\cygwin\bin

備考

環境変数BASE_DIRはmcconfigで自動生成されるmakefileの内部でも利用されるので、展開した状態でパスを通したからといって不要になるものではありません。必ずespディレクトリの親ディレクトリまでの階層を設定する必要があります。

この環境では、e:\の直下にespディレクトリを作成して環境構築したので、環境変数BASE_DIRはe:になります。 (ディレクトリの区切りは自動で付けられます)