Ошибка создания цепочки кода / usr / bin / ld: не удается найти -lxxx - PullRequest
0 голосов
/ 21 июня 2019

Мой цепной код имеет зависимость 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

Это означает, что он не может найти необходимые зависимости при создании кода цепочки.

Любойуказатели на то, как это может быть решено?

Спасибо

1 Ответ

1 голос
/ 22 июня 2019

Если вы использовали 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 для упаковки и установки цепного кода.

...