Hyperledger Fabric – Cryptogen Tool Not Found…Exiting


This error, Cryptogen Tool Not Found…Exiting occurred when I tried to build the first network by executing byfn.sh script using following commands for the first time after downloading and installing hyperledger fabric platform binaries/components and fabric samples:

./byfn.sh -m up
./byfn.sh -m generate

The following screenshot represents the error:

cryptogen tool not found exiting error

Figure 1. Cryptogen tool not found exiting error

Why the Error – Cryptogen Tool Not Found

This error occurs, primarily, due to the reason that cryptogen tool can be not be found in the path. The path to cryptogen tool needs to be set to PATH variable. This can be confirmed by checking the logs of the script execution by putting the following code (set -x) in the beginning of the file, byfn.sh, as shown below. Note that the code set-x is used to expand variables during shell command execution.

set -x

You would note that the execution of command which cryptogen returns 1 (Note the value of $?). This is where the statement cryptogen tool not found. exiting is echoed.

Note that cryptogen tool gets installed as a result of downloading and installing Hyperledger Ledger platform binaries under folder bin. Other platform components which get set up along with cryptogen are some of the following:

  • configtxlator
  • configtxgen
  • peer
  • ordered

Solution to Error – Cryptogen Tool Not Found

  • Open .~/.bashrc file.
  • Assign path to cryptogen tool to PATH variable. The following is the code sample:
    export PATH=$PATH:/home/support/hyperledger/bin
  • Open a new terminal and execute the byfn.sh script. It should go through without the error such as Cryptogen tool not found…exiting.

Are you still seeing the error? The following could be one of the reasons:

Are you trying to execute byfn.sh  -m up command with sudo? I got this error on Ubuntu VM installationI was running with sudo command as my docker installation did not work without sudo. The error may occur because sudo which cryptogen may return a value of 1 which results in error within byfn.sh script. Fix the docker command to work without sudo using this page, Docker – Post-installation steps for Linux. Once you have fixed it, you should be good.

Ajitesh Kumar

Ajitesh Kumar

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, C/C++, mobile programming languages etc, and, computing fundamentals related with cloud-native technologies, application security, cloud computing platforms, mobile apps, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.