Mos-libs: Neither sources nor prebuilt binary exists for the lib "rpc-service-ota" or "ota-common"

#1

My setup:

  • mos version: 2.15.0
  • Operational System: mac os High Sierra 10.13.6
  • Docker version: 2.1.0.2
  1. My goal is: build firmware using private rpc-service-ota and ota-common libs locally, using mos build --local --verbose --clear

  2. My actions are: insert on mos.yml

# OTA Lib
  - origin: /mos/libs/2.15.0/ota-common
# RPC Services libs
  - origin: /mos/libs/2.15.0/rpc-service-ota

and mos build --local --verbose --clear

  1. The result I see is:
    When I use:
# OTA Lib
  - origin: /mos/libs/2.15.0/ota-common
# RPC Services libs
  - origin: /mos/libs/2.15.0/rpc-service-ota

I get:

Error: /Users/mos/mos/go/src/github.com/mongoose-os/mos/mos/manifest_parser/manifest_parser.go:353: neither sources nor prebuilt binary exists for the lib “ota-common” (or, if a library doesn’t have any code by design, its mos.yml shouldn’t contain “sources”). Fetch error was: [unable to fetch prebuilt binary for “ota-common”]

When I use

# OTA Lib
  #- origin: /mos/libs/2.15.0/ota-common
# RPC Services libs
  - origin: /mos/libs/2.15.0/rpc-service-ota

I get:

Error: /Users/mos/mos/go/src/github.com/mongoose-os/mos/mos/manifest_parser/manifest_parser.go:353: neither sources nor prebuilt binary exists for the lib “rpc-service-ota” (or, if a library doesn’t have any code by design, its mos.yml shouldn’t contain “sources”). Fetch error was: [unable to fetch prebuilt binary for “rpc-service-ota”]

Which means that both libs are seemed by mos as not have source binary.

  1. My expectation & question is: how to get a build firmware using the these mos-lib locally?
#2

I don’t have access to the private libs, but I have a note, which might be outdated, regarding it: https://github.com/cesanta/mos-libs#how-to-use-private-libs-repo

#3

Much like a lot of old links this one went 404 :pensive:

#4

Hi,

In fact, you must:

  1. download the binaries (libota-common-esp32.a and librpc-service-ota-esp32.a);

  2. put the files on a path inside your project (path bin, for this example)

  3. add on mos.yml

binary_libs:
  - bin
  1. build normally.

Unfortunatelly, the documentation does not have much details and to get real help you must pay (:pensive:). In my opinion, that’s why usage of this tools do not grows exponentially.