rt-net / stack-chan

This is the repository for Stack-chan RT ver.
Apache License 2.0
8 stars 1 forks source link

mods/face_trackerがビルドできない #14

Open stc1988 opened 3 months ago

stc1988 commented 3 months ago

不具合の概要

mods/face_trackerのビルドに失敗しmodを動かすことができません

再現手順 不具合を再現できる手順を記述してください

  1. npm run mod --target=esp32/m5stack_core3 ./mods/face_tracker/manifest.json を実行
  2. コンソールに以下エラーが表示され、modがインストールできない
Native code detected:
  /Users/satoshi/Projects/moddable/modules/data/text/decoder/textdecoder.c
Mods cannot contain native code. Did you intend to build using mcconfig?
### Error: mod cannot contain native code

想定する挙動 modのビルドに成功し、インストールができること

ログ

再現手順2を参照

環境 (次の項目を埋めてください):

その他

https://github.com/rt-net/stack-chan/commit/1058fa3b995b5c4d3d65a2804b1fd34208fc9d06#diff-11fd9432a91c8891b3446d293d8e188bb6f6472de33c015a5c54dee129655c86

上記対応時に、$(MODULES)/data/text/decoder/manifest.json のincludeをmod側に移動していますが、TextDecoderモジュールにはC言語実装が含まれるため、mod単体では使用することができません。

解決策

以下2案を考えました

  1. $(MODULES)/data/text/decoder/manifest.json をホスト側のincludeに戻す TextDecoderモジュール自体は大きくないかつ、汎用的に使えそうなモジュールなのでホスト側に戻す

  2. Httpリクエスト部分をfetchで実装する 多くのJavaScriptユーザにとっては、Httpリクエストに際してModdableのIOクラスを使用するよりもfetchを使用する方が馴染み深いように思えます。mods/chatgptでも内部的にfetchを使っているはずなのでmodからは利用できるはず

KuraZuzu commented 2 weeks ago

現在、Fetchを使わずにtext/decoderをホスト側に入れて動作するよう、修正、動作確認中です。