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:
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.
#!/bin/bash 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:
Solution to Error – Cryptogen Tool Not Found
- Open .~/.bashrc file.
- Assign path to cryptogen tool to PATH variable. The following is the code sample:
- 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 installation. I 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.