VRF Key Gen Issue

Hi, having issue creating VRF keys, Cardano stakepool handbook not so good, getting following:

CMD: cardano-cli shelley node key-gen-VRF --verification-key-file vrf.vkey --signing-key-file vrf.skey
Result: cardano-cli: symbol lookup error: cardano-cli: undefined symbol: crypto_vrf_seedbytes


SOLVED: Forgot to source .bashrc, easy fix


Hello @sixjac

Too bad you withdrew the post, it looked very interesting. I suppose you solved the problem yourself. But of course, for the value of the forum, it would be nice if you wrote the answer here instead of deleting the thread to help others with the same problem. Thank you for considering.


Hello everyone,

This is my first message on the forum so please do not hesitate to correct me if I am using it wrong.

I have compilation issues (trying to install cardano node and client from sources: tag 1.25.0).
I this exact function crypto_vrf_seedbytes is not defined on my system (apparently), so I get message error as:

[37 of 47] Compiling Cardano.Api.Block ( src/Cardano/Api/Block.hs, dist/build/Cardano/Api/Block.o, dist/build/Cardano/Api/Bloc[360/1360]
: /somewhere/.cabal/store/ghc-8.10.3/cardano-crypto-praos-2.0.0-45653e091d3373721d831c1ba2695efc255dc4851d6d75327579d50f363819d
a/lib/libHScardano-crypto-praos-2.0.0-45653e091d3373721d831c1ba2695efc255dc4851d6d75327579d50f363819da-ghc8.10.3.so: undefined symbol: c
CallStack (from HasCallStack):
die’, called at ./Distribution/Client/ProjectOrchestration.hs:1041:55 in main:Distribution.Client.ProjectOrchestration
cabal: Failed to build

I tried to update ghc but I get the same. So, I have tried with ghc 8.8.4 and 8.10.3 (from blockquote shown just above)

There are dependencies to systemd, which I see are already mentioned as a flag in cardano-node. That I had to disable, because I am on an OpenRC system.
I felt worth mentioning as it seems realted to this: Undefined symbol: crypto_vrf_publickeybytes only in systemd service

I do have libsodium and but not as a static lib.

I did not feel like starting a whole new thread for this, but if you feel that is necessary i’d do.

My current ideas:

  • cabal certainly pulls precompiled packages that were compiled against libraries I don’t have or Libraries that are configured differently on my system
  • i am trying tag 1.24.2 which is latest stable release. (< 1.25.0)

Thanks a lot and looking forward any of your feedback,
Have a good one,


Ok I understood that we must use the fork of libsodium with VRF functions.
It’s all in the docs:


My mistake was to follow the instructions there:

Which you end up by following links about “Running your stake pool” > “Find out more” > “Installing and running a node…”

@adatainment I have opened a new issue with all details here:

Other kind of similar issues were already open and I have mentioned them, I tried to put much more details it what was wrong, in the end, it’s mostly a user on-boarding: a wrong website funnel I would say.
All the best,