(toppers-users 4607) Re: mruby on EV3RT + TECS をMacで環境構築する際のmake depend時のエラーについて

Takuya Azumi takuya @ sys.es.osaka-u.ac.jp
2016年 9月 20日 (火) 12:28:30 JST


柴田様

大阪大学の安積です。

ご報告ありがとうございます。

・原因
EV3RTのデバイスドライバがLinuxベースで作成しており、
デバイスドライバが参照してるLinux用のヘッダファイルと、
リアルタイムOS(TOPPERS/HRP2)が提供しているinlineが二重定義になっている。

・対処方法
hrp2/target/ev3_gcc/drivers/linux/include/linux/compiler-gcc
.hの47行目をコメントアウトすれば警告は抑制できるかと思います。
// # define inline  inline  __attribute__((always_inline))

・補足
make depend はC言語のヘッダファイルの依存関係を自動生成してくれるプログラムです。
C言語プログラムを修正した場合に、そのファイルを読み込んでいるファイルもコンパイル対象にするなどで利用します。
※TOPPERS/ASP3(第3世代カーネル)からコンパイル時に依存関係を生成するようになっていますので、make dependはなくなっています。

mrubyのみをプログラミングするなど、C言語を修正しない場合は、make dependを実行する必要ありませんね。
次のバージョンでは、マニュアルのmake dependの記述を削除することで対応いたします。

Qiitaの情報はMacユーザに、とても有益ですね。

よろしくお願いいたします。

2016年9月20日 3:03 aqua055 @ gmail.com <aqua055 @ gmail.com>:

> 初めまして。柴田義之と申します。
> 趣味でプログラミングをしているものです。
>
> mruby on EV3RT + TECS で EV3を動かそうと環境構築を Macでしてみました。
>
> サンプルプログラムを動かすところまでほぼ出来たのですが、一点 SDでの
> make depend がうまくいきませんでした。
>
> 自分の行った Macでの環境構築法の細かな点、およびバージョン等については
>  Qiita に投稿しました。
> ・Mindstorms EV3をmrubyで動かす方法(Macで環境構築編) - Qiita
> http://qiita.com/noanoa07/items/dd5c5230b577a3622f08
>
> この記事の 6A-3 ビルド:make depend
> の箇所なのですが、
> make depend 時のエラーログは Gistに貼りました。
> ・mruby-on-ev3rt+tecs のSDでのコンパイルのエラーログ(Mac)- Gist
> https://gist.github.com/noanoa07/e2adea0edf4380fbec05decb5079bb0b
>
> 何か回避方法はあるでしょうか?
>
> Windows での動作保証しかしていない、と言われればその通りなのですが、
> makefile を見ると Macでの環境構築にも考慮されているようです。
>
> ETロボコンの公式環境やアフレルの教材となり、使用者も増えている
> と思いますし、Macでも使えるとより幅広く普及すると思います。
>
> 何かアドバイスあればよろしくお願いします。
>
>
> 柴田義之
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.toppers.jp/pipermail/users/attachments/20160920/5c2d4953/attachment.html>