我的链码具有go依赖关系,需要C库。
我使用了vendor命令来打包依赖关系,并且我的vendor文件夹可以包含所有必需的.so文件。
Chaincode安装正常,没有任何问题。
但是在链码实例化时,我遇到了错误:
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg error starting container: error starting container: Failed to generate platform-specific docker build: Error returned from build: 2 "# github.com/chaincode/awesomeProject/vendor/github.com/wasmerio/go-ext-wasm/wasmer
/usr/bin/ld: cannot find -lwasmer_runtime_c_api
collect2: error: ld returned 1 exit status
这意味着它无法在链码实例化时找到所需的依赖项。
有关如何解决该问题的任何指示?
谢谢
答案 0 :(得分:1)
如果您使用CLI打包/安装了链代码(peer chaincode install ...
),则此操作将无效,因为该命令会滤除除
var includeFileTypes = map[string]bool{
".c": true,
".h": true,
".s": true,
".go": true,
".yaml": true,
".json": true,
}
如果使用Node.js或Java SDK打包并安装链码,则可能可以使它正常工作。