编译cmc失败
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
在centos上编译cmc,对应的是v2.3.1版本 go版本:go version go1.19.8 linux/amd64 linux版本:Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 在chainmaker-go/tools/cmc目录下执行:go build 出现错误,错误提示:
# chainmaker.org/chainmaker-go/module/accesscontrol
../../module/accesscontrol/cert_ac.go:67:40: cannot use (*certACProvider)(nil) (value of type *certACProvider) as type protocol.AccessControlProvider in variable declaration:
*certACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/cert_ac.go:99:9: cannot use certACProvider (variable of type *certACProvider) as type protocol.AccessControlProvider in return statement:
*certACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/permissioned_pk_ac.go:30:40: cannot use (*permissionedPkACProvider)(nil) (value of type *permissionedPkACProvider) as type protocol.AccessControlProvider in variable declaration:
*permissionedPkACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/permissioned_pk_ac.go:72:9: cannot use pPkACProvider (variable of type *permissionedPkACProvider) as type protocol.AccessControlProvider in return statement:
*permissionedPkACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/public_pk_ac.go:32:40: cannot use (*pkACProvider)(nil) (value of type *pkACProvider) as type protocol.AccessControlProvider in variable declaration:
*pkACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/public_pk_ac.go:125:9: cannot use pkAcProvider (variable of type *pkACProvider) as type protocol.AccessControlProvider in return statement:
*pkACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/mock.go:46:9: cannot use certAc (variable of type *certACProvider) as type protocol.AccessControlProvider in return statement:
*certACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/mock.go:72:9: cannot use certAc (variable of type *certACProvider) as type protocol.AccessControlProvider in return statement:
*certACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
../../module/accesscontrol/mock.go:124:9: cannot use acp (variable of type *certACProvider) as type protocol.AccessControlProvider in return statement:
*certACProvider does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
# chainmaker.org/chainmaker/vm-native/v2/privatecompute
/root/go/pkg/mod/chainmaker.org/chainmaker/vm-native/v2@v2.3.2/privatecompute/tx_context_mock.go:209:9: cannot use &ACProviderMock{} (value of type *ACProviderMock) as type protocol.AccessControlProvider in return statement:
*ACProviderMock does not implement protocol.AccessControlProvider (missing RefineEndorsements method)
# chainmaker.org/chainmaker/store/v2
/root/go/pkg/mod/chainmaker.org/chainmaker/store/v2@v2.3.3/store_factory.go:129:10: cannot use test.NewDebugStore(logger, storeConfig, db) (value of type *test.DebugStore) as type protocol.BlockchainStore in return statement:
*test.DebugStore does not implement protocol.BlockchainStore (missing GetArchiveStatus method)
/root/go/pkg/mod/chainmaker.org/chainmaker/store/v2@v2.3.3/store_factory.go:139:10: cannot use test.NewDebugStore(logger, storeConfig, db) (value of type *test.DebugStore) as type protocol.BlockchainStore in return statement:
*test.DebugStore does not implement protocol.BlockchainStore (missing GetArchiveStatus method)
具体的现象,操作步骤,前置条件等,尽可能描述清楚,有截图说明更佳
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
chainmaker-go 的 log/system.log & bin/panic.log file *
SDK 的 sdk.log file
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.1.0]
- OS & version * :
- docker镜像 version:
-
管理台 version:
- 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
-
区块浏览器 version:
- 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
-
合约IDE version:
- 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
-
web签名插件 version:
- 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information