Skip to content
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

Docker image can't use 1.4 fabric SUT #1266

Closed
davidkel opened this issue Mar 13, 2022 · 3 comments · Fixed by #1301
Closed

Docker image can't use 1.4 fabric SUT #1266

davidkel opened this issue Mar 13, 2022 · 3 comments · Fixed by #1301
Assignees
Labels
bug Something isn't working documentation Related to the documentation
Milestone

Comments

@davidkel
Copy link
Contributor

davidkel commented Mar 13, 2022

Current builds of 0.5.0 unstable docker image fail to install fabric 1.4 SUT

> [email protected] install /home/node/.npm-global/lib/node_modules/fabric-client/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

[grpc] Success: "/home/node/.npm-global/lib/node_modules/fabric-client/node_modules/grpc/src/node/extension_binary/node-v83-linux-x64-musl/grpc_node.node" is installed via remote

> [email protected] install /home/node/.npm-global/lib/node_modules/fabric-network/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

[grpc] Success: "/home/node/.npm-global/lib/node_modules/fabric-network/node_modules/grpc/src/node/extension_binary/node-v83-linux-x64-musl/grpc_node.node" is installed via remote
> [email protected] install /home/node/.npm-global/lib/node_modules/fabric-protos/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using needle for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://node-precompiled-binaries.grpc.io/grpc/v1.24.2/node-v83-linux-x64-musl.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v83 ABI, musl) (falling back to source compile with node-gyp) 
make: Entering directory '/home/node/.npm-global/lib/node_modules/fabric-protos/node_modules/grpc/build'
make: printf: Operation not permitted
make: *** [grpc.target.mk:543: Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o] Error 127
make: Leaving directory '/home/node/.npm-global/lib/node_modules/fabric-protos/node_modules/grpc/build'

There are 2 problems here

  1. [email protected] uses 1.24.2 which is different to fabric-network/fabric-client
  2. 1.24.2 has no prebuilt binaries so an attempt to compile is done but that compile fails and compiles should work
@davidkel davidkel added the bug Something isn't working label Mar 13, 2022
@davidkel davidkel added this to the v0.5.0 milestone Mar 13, 2022
@davidkel
Copy link
Contributor Author

The reason for 2 appears to be due to this https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0#faccessat2
So it's due to the change to alpine 3.14 (I really don't like alpine). Solutions include using a later version of docker (the version I was using was a bit old) or to follow advice in the above link.

For 1 the only option would be to move to a newer version of fabric-protos. In 2.1.1 they changed the underlying version of grpc to grpc-js which in turn breaks all the generated apis (so much for not changing apis in a micro/minor release change) so we would have to change the code to work with the new protobuf apis. But the only code that uses that is the channel creation/install/instantiate of the 1.4 connector for which we will be removing so probably not worth it. Also 1.4 fabric SUT is legacy now as fabric 1.4 is out of LTS.

@davidkel davidkel added the documentation Related to the documentation label Mar 22, 2022
@davidkel
Copy link
Contributor Author

confirmed that newer versions of docker address this problem so it's a case of just documenting the fact. We won't try to address the fact that it compiles the grpc code due to 2.1.0 fabric-protos package. This will be addressed when we remove the need for the integration tests to use the create channel/install/instantiate chaincode for fabric tests which I would hope we can achieve in 0.5.1 (docs have already been removed in 0.5.0 so capability has been removed from a user perspective)

@davidkel davidkel self-assigned this Apr 5, 2022
@davidkel
Copy link
Contributor Author

davidkel commented Apr 5, 2022

a minimal version is documented as part of #1268 which has been tested to show that it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Related to the documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant