Chaincode 实例化错误 /usr/bin/ld: 找不到 -lxxx
Chaincode instantiate error /usr/bin/ld: cannot find -lxxx
我的链码有一个需要 C 库的 go 依赖项。
我使用 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
这意味着它无法在链代码实例化时找到所需的依赖项。
关于如何解决它的任何指示?
谢谢
如果您使用 CLI package/install 链代码 (peer chaincode install ...
),那么这将不起作用,因为该命令会过滤掉
以外的所有文件扩展名
var includeFileTypes = map[string]bool{
".c": true,
".h": true,
".s": true,
".go": true,
".yaml": true,
".json": true,
}
如果您使用 Node.js 或 Java SDK 来打包和安装链代码,您可能可以让它工作。
我的链码有一个需要 C 库的 go 依赖项。
我使用 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
这意味着它无法在链代码实例化时找到所需的依赖项。
关于如何解决它的任何指示?
谢谢
如果您使用 CLI package/install 链代码 (peer chaincode install ...
),那么这将不起作用,因为该命令会过滤掉
var includeFileTypes = map[string]bool{
".c": true,
".h": true,
".s": true,
".go": true,
".yaml": true,
".json": true,
}
如果您使用 Node.js 或 Java SDK 来打包和安装链代码,您可能可以让它工作。