gevent 20.6.2 failure, exit code: 1, while installing bigchaindb on ubuntu 22.04

295 Views Asked by At

I am attempting to install BigchainDB Version 2.2.2 on my Ubuntu 22.04 machine. I entered the code

sudo pip3 install bigchaindb==2.2.2

The installation went part of the way before exiting and reporting the following, sorry, there is a lot of it;

Collecting gevent==20.6.2 (from bigchaindb-abci==1.0.5->bigchaindb==2.2.2)
  Using cached gevent-20.6.2.tar.gz (5.8 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [60 lines of output]

      warning: src/gevent/_gevent_cgreenlet.pxd:112:33: Declarations should not be declared inline.
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef load_traceback
      cdef Waiter
      cdef wait
      cdef iwait
      cdef reraise
      cpdef GEVENT_CONFIG
            ^
      ------------------------------------------------------------
      
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

I can see that the error is related to gevent version 20.6.2. I can see from the website that the latest version is 22.10.2. I installed this version with ...

pip install gevent==22.10.2

This completed successfully. I then rebooted, thinking that it might help! haha
I restarted the bigchaindb installation and it failed at the same point. I am guessing that the python script running the install is not checking for dependencies before it just blerts everything onto the machine!!! Probably foolish of me to think that I could avoid the error like that anyway.

Many of the 60 lines of output reported this;

The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310

So, my questions are these:

  1. Has anyone else experienced the same error?
  2. If so, how was it resolved, please?
  3. If not, is somebody knowledgeable willing to work with me to resolve the issue, please?

Thank you

Graham

It would be great if BigChainDB did not use old versions of libraries, I expect they would update their script when new libraries are available and tested.

1

There are 1 best solutions below

0
Abel Akponine On

This is a known compactibility issue, to solve this, here are the dependencies you need.

markupsafe - v2.0.1
itsdangerous - v2.0.1
werkzeug - v2.0.1
Jinja2 - v3.0.3
gevent - v20.6.2
greenlet - v0.4.16

If encountered any issue installing PyNCl, use this (Infact this method works perfectly for me, so I'd suggest you try installing through SODIUM):

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz
tar -xvf libsodium-1.0.18-stable.tar.gz libsodium-stable
cd libsodium-stable/
./configure
make -j
make install
SODIUM_INSTALL=system pip3 install PyNaCl==1.1.2 bigchaindb werkzeug==2.0.1 markupsafe==2.0.1 itsdangerous==2.0.1 Jinja2==3.0.3 gevent==20.6.2 greenlet==0.4.16

Finally, Run:

bigchaindb configure
bigchaindb -y drop
bigchaindb init
bigchaindb start