Airsdk-cli ignores depends: list in mission.yaml

I am trying to upgrade to version 7.7.2 (from 7.6.0), but have the following problem:

In my mission.yaml file, I have a dependency that depends on OpenCV:

deps:
  imgcodecs:
    lang: c++
    headers: include
    depends:
      - opencv4

However, the dependency (opencv4) is ignored and it fails to compile, because the headers cannot be found.
When investigating the issue, the problem seems to be that the list of dependencies is not handled correctly by the airsdk python tool.
The YAML node "depends" seems to be poped twice, such that the second call returns an empty list.

Hi,

I confirm that this is a bug inside the airsdk tool, which will be fixed in a future release.

In the meantime, you can circumvent this by using a full alchemy dependency, which does not have this issue:

in your mission.yaml, replace your dependency declaration with:

deps:
  imgcodecs:
    type: alchemy

and in your deps/imgcodecs directory, create an atom.mk file with the following content

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := imgcodecs
LOCAL_SRC_FILES := # list your C++ source files here
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_LIBRARIES := opencv4
include $(BUILD_LIBRARY)

This is what is generated internally by airsdk when processing a lang: c++ dep, but this skips the dependency validation phase where the bug is located. Once the fix is released, you should go back to the original version.

Regards,
Nicolas.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.