GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
V1.03 も一応試してみましたが結果は同じですね。自分の環境では V1.00以外はライブラリのビルドでこけますね。
アプリのフォルダー内のコンパイラで同じくアプリのフォルダーにあるライブラリーのソースをビルドして、どうしてエラーが出るんでしょうね。
別のコンパイラでビルドするなら分かりますけど、どうやったらこんなことができるんでしょう。
サポートが El Capitanまでになっていますが、El Capitanなら動作するんでしょうか? ちなみに自分のOSは Mac OS 10.12.6 Sierraです。
それとも、High Sierraにしないと動かないのでしょうか?
正常にビルドできている人いるんですか?と言いたくはなりますね。一応エラーログは添付しますが、V1.01 V1.02と変化はなさそうです。
この件は報告と受け取ってください、対応は不要です。自分はWindowsパソコンもあるので。
Mac用のv1.03にあまり期待はしてなかったのですが、それでもちょっとイラっとしたのでフォーラムに書きたくなっただけですので。
Arduino: V1.03 (Mac OS X), Board: "GR-ADZUKI"
/Applications/IDE4GR.app/Contents/Java/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13 -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/variants -Os -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g -DARDUINO=100 -DWORKAROUND_READ_MODIFY_WRITE -D__RL78__ -DGRADZUKI -c -x c++ /Users/Furutani/tmp.ide4gr/build4131600911807272550.tmp/sketch_feb12c.cpp -o /Users/Furutani/tmp.ide4gr/build4131600911807272550.tmp/sketch_feb12c.cpp.o /Applications/IDE4GR.app/Contents/Java/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13 -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/variants -Os -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g -Wa,-gdwarf2 -c -x assembler-with-cpp /Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13/rl78/reset_program.S -o /Users/Furutani/tmp.ide4gr/build4131600911807272550.tmp/reset_program.S.o /Applications/IDE4GR.app/Contents/Java/hardware/tools/gcc-rl78/rl78-elf/bin/rl78-elf-gcc -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13 -I/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/variants -Os -fno-function-cse -funit-at-a-time -falign-jumps -fdata-sections -ffunction-sections -fno-cprop-registers -fsigned-char -g -DARDUINO=100 -DWORKAROUND_READ_MODIFY_WRITE -D__RL78__ -DGRADZUKI -c -x c /Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13/avr/avrlib.c -o /Users/Furutani/tmp.ide4gr/build4131600911807272550.tmp/avrlib.c.o /Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13/avr/avrlib.c: In function 'ultoa':/Applications/IDE4GR.app/Contents/Java/hardware/arduino/rl78g13/cores/rl78g13/avr/avrlib.c:108:1: internal compiler error: Illegal instruction: 4 } ^libbacktrace could not find executable to openPlease submit a full bug report,with preprocessed source if appropriate.See <gcc.gnu.org/bugs.html> for instructions.
This report would have more information with "Show verbose output during compilation" enabled in File > Preferences.
> アプリのフォルダー内のコンパイラで同じくアプリのフォルダーにあるライブラリーのソースをビルドして、どうしてエラーが出るんでしょうね。 > > 別のコンパイラでビルドするなら分かりますけど、どうやったらこんなことができるんでしょう。
動的リンクの仕組みを勉強されては?
> この件は報告と受け取ってください、対応は不要です。自分はWindowsパソコンもあるので。
compile error of ide4gr on macosx for gr-citrus
↑のときもそうだったけど、Mac ユーザって問題解決努力をしないで諦めるの早い印象だな。
> でも、文字列しか扱わないコンパイラでシステム側の機能を使うのは限られているでしょうから、
GCC for Renesas 4.9.2.201703-GNURL78 Linux Toolchain (ELF Format) に含まれる g++ コマンドについて動的リンクされるライブラリを確認した結果が以下の通りですが
$ ldd rl78-elf-g++ linux-gate.so.1 => (0xf7fc4000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7e27000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7d28000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7d0b000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7b35000) /lib/ld-linux.so.2 (0xf7fc6000) $
Mac 用として配布されている IDE for GR に含まれているコンパイラも似たようなものではないかと思います。各ライブラリファイルには莫大な数の関数等が組み込まれており、内容は「システム側の機能を使う」ものに限らず、ライブラリ関数として見える形で提供されているものやその他コンパイラの生成したバイナリを動作させるための細かいサポートルーチン等をも含みます。プログラムをビルドした際に想定したものと実行時の環境に含まれる動的ライブラリが合っていなければプログラムの正常動作は望めません。
> Macではe2studioが動かないですから、結局のところ開発はWindowsになります。Macに固執する理由がありません。
Toolchain が動けば IDE なんて必須でもないのでは?
GCC のビルドには以下のライブラリが必要と公式サイトに情報があります。
Installing GCChttps://gcc.gnu.org/install/prerequisites.html> GNU Multiple Precision Library (GMP) version 4.3.2 (or later)> MPFR Library version 2.4.2 (or later)> MPC Library version 0.8.1 (or later)> isl Library version 0.15 or later.
動的リンクされるライブラリが何かしらの経緯で複数システムに導入され、サーチパスの設定によって最新版以外のライブラリが使用されてしまうことは普通に考えれるので、不具合原因のひとつとして疑うと良いかもしれません。
ライブラリの検索パスについては以下 ↓ の説明が簡潔だと思います。macOS ではありませんが恐らくは似たような仕組みになっていると思います。
ライブラリー検索パスの設定https://www.ibm.com/support/knowledgecenter/ja/SSAT4T_12.1.0/com.ibm.xlf121.linux.doc/compiler_ref/set_lib_search_oaths.html
IDE for GR については
IDE for GR (Mac) RL78のgcc オプションの -Os を削除する方法はないでしょうかhttps://japan.renesasrulz.com/gr_user_forum_japanese/f/ide_for_gr/4734/ide-for-gr-mac-rl78-gcc--os/26147#26147> IDE for GR Mac用 V1.00をダウンロードしてインストールしたらビルドが正常終了し、GR-ADZUKIの実機でも動作しました。
という情報もあり、IDE for GR に含まれて配布されている GCC そのものには問題がない可能性は高いと思います。IDE for GR の V1.03 と V1.00 に含まれる RL78 用 GCC をフォルダ以下全ファイルを比較してみましたが完全に同一でした。V1.00 で配布されているコンパイラが動作するならば V1.03 のそれも同等に動いて良い筈です。動かないとすれば配布物以外の要因を疑うべきでしょう。
GCC の導入は以下の記事が参考になりそうな印象ですね。
CentOS6に複数のバージョンのgccを導入する。(動的リンクライブラリについて詳説)https://qiita.com/qiitamatumoto/items/c2de3f976b86f21ce2a6
gcc4.9.2 をインストールするhttps://qiita.com/sirone/items/511c6f68d763dbb66e14