-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic Bridge Build Fail [BUG] #26208
Comments
Sounds like those probably need to be added to
Yep, looks buggy.
Also look buggy. |
Looks like optional<> was not properly handled in codegen, #26229 should fix part of this |
thanks for your hard work. |
That's a question for @achaulk-goog |
Reproduction steps
the first time i issued (#26203) .
and quickly i fix my problems as suggested to update checkout,that is very wonderful job of these people.
but i again encounter some similar problems, i think developers may miss some small fix.
below is the steps:
1、update chip project to latest commit de0dfcf
2、edit dynamic bridge example zap file,enable scenes and groups cluster server from zap gui.
3、 regenerate .matter file
4、build dynamic bridge example.
5、 gn gen out/mac
6、ninja -C out/mac
Bug prevalence
always
GitHub hash of the SDK that was being used
de0dfcf
Platform
darwin
Platform Version(s)
No response
Anything else?
when ninja is building code generation, something wrong come out, seems there are two problems:
first is :
some micro was not defined,for example:
ZCL_GROUPS_CLUSTER_REVISION and ZCL_SCENES_CLUSTER_REVISION.
second is:
some type assign problem int other fields:
gen/bridge/Scenes.h:16:25: error: assigning to 'uint32_t' (aka 'unsigned int') from incompatible type 'Optionalchip::AttributeId' (aka 'Optional')
attributeID = t.attributeID;
../../third_party/connectedhomeip/src/app/data-model/List.h:62:22: note: candidate template ignored: could not match 'const unsigned char[N]' against 'const std::vector<uint8_t>' (aka 'const vector')
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'const std::vector' to 'const chip::app::DataModel::List' for 1st argument
struct List : public Span
^
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit move assignment operator) not viable: no known conversion from 'const std::vector' to 'chip::app::DataModel::List' for 1st argument
detail log below:
In file included from gen/bridge/BridgeClustersImpl.h:4:
gen/bridge/Groups.h:17:138: error: use of undeclared identifier 'ZCL_GROUPS_CLUSTER_REVISION'
mClusterRevision(chip::CharSpan("clusterRevision"), 65533, 0 | ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZCL_INT16U_ATTRIBUTE_TYPE, 2, ZCL_GROUPS_CLUSTER_REVISION)
^
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:16:25: error: assigning to 'uint32_t' (aka 'unsigned int') from incompatible type 'Optionalchip::AttributeId' (aka 'Optional')
attributeID = t.attributeID;
~~^~~~~~~~~~~
gen/bridge/Scenes.h:17:24: error: no viable overloaded '='
attributeValue = t.attributeValue;
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:584:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableList<uint8_t>' (aka 'DecodableList') to 'const std::vector' for 1st argument
vector& operator=(const vector& __x);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:604:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableList<uint8_t>' (aka 'DecodableList') to 'std::vector' for 1st argument
vector& operator=(vector&& __x)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:608:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableList<uint8_t>' (aka 'DecodableList') to 'initializer_list<std::vector::value_type>' (aka 'initializer_list') for 1st argument
vector& operator=(initializer_list<value_type> __il)
^
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:25:21: error: no viable overloaded '='
t.attributeID = attributeID;
~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
../../third_party/connectedhomeip/src/lib/core/Optional.h:86:26: note: candidate function not viable: no known conversion from 'const uint32_t' (aka 'const unsigned int') to 'const chip::Optional' for 1st argument
constexpr Optional & operator=(const Optional & other)
^
../../third_party/connectedhomeip/src/lib/core/Optional.h:100:26: note: candidate function not viable: no known conversion from 'const uint32_t' (aka 'const unsigned int') to 'chip::Optional' for 1st argument
constexpr Optional & operator=(Optional && other)
^
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:26:24: error: no viable overloaded '='
t.attributeValue = attributeValue;
~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
../../third_party/connectedhomeip/src/app/data-model/List.h:62:22: note: candidate template ignored: could not match 'const unsigned char[N]' against 'const std::vector<uint8_t>' (aka 'const vector')
constexpr List & operator=(T (&databuf)[N])
^
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'const std::vector<uint8_t>' (aka 'const vector') to 'const chip::app::DataModel::List' for 1st argument
struct List : public Span
^
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit move assignment operator) not viable: no known conversion from 'const std::vector<uint8_t>' (aka 'const vector') to 'chip::app::DataModel::List' for 1st argument
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:42:28: error: no viable overloaded '='
attributeValueList = t.attributeValueList;
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:584:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableListStructs::AttributeValuePair::DecodableType' to 'const std::vectorclusters::ScenesCluster::AttributeValuePair' for 1st argument
vector& operator=(const vector& __x);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:604:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableListStructs::AttributeValuePair::DecodableType' to 'std::vectorclusters::ScenesCluster::AttributeValuePair' for 1st argument
vector& operator=(vector&& __x)
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:608:13: note: candidate function not viable: no known conversion from 'DataModel::DecodableListStructs::AttributeValuePair::DecodableType' to 'initializer_list<std::vectorclusters::ScenesCluster::AttributeValuePair::value_type>' (aka 'initializer_listclusters::ScenesCluster::AttributeValuePair') for 1st argument
vector& operator=(initializer_list<value_type> __il)
^
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:51:28: error: no viable overloaded '='
t.attributeValueList = attributeValueList;
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
../../third_party/connectedhomeip/src/app/data-model/List.h:62:22: note: candidate template ignored: could not match 'const chip::app::Clusters::Scenes::Structs::AttributeValuePair::Type[N]' against 'const std::vector'
constexpr List & operator=(T (&databuf)[N])
^
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'const std::vector' to 'const chip::app::DataModel::List' for 1st argument
struct List : public Span
^
../../third_party/connectedhomeip/src/app/data-model/List.h:40:8: note: candidate function (the implicit move assignment operator) not viable: no known conversion from 'const std::vector' to 'chip::app::DataModel::List' for 1st argument
In file included from ../../main.cpp:50:
In file included from gen/bridge/BridgeClustersImpl.h:5:
gen/bridge/Scenes.h:71:138: error: use of undeclared identifier 'ZCL_SCENES_CLUSTER_REVISION'; did you mean 'ZCL_SWITCH_CLUSTER_REVISION'?
mClusterRevision(chip::CharSpan("clusterRevision"), 65533, 0 | ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZCL_INT16U_ATTRIBUTE_TYPE, 2, ZCL_SCENES_CLUSTER_REVISION)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
ZCL_SWITCH_CLUSTER_REVISION
../../include/GeneratedClusters.h:15:27: note: 'ZCL_SWITCH_CLUSTER_REVISION' declared here
static constexpr uint16_t ZCL_SWITCH_CLUSTER_REVISION = 1;
The text was updated successfully, but these errors were encountered: