0

I am following the steps as described in the repository, using VSCode and Docker.

https://github.com/input-output-hk/plutus-starter

All the dependencies looks good, but it failed on building the cardano-node.

Failed to build exe:cardano-node from cardano-node-1.30.0.
Build log (
/Users/rogeriodeleonpereira/.cabal/logs/ghc-8.10.7/crdn-nd-1.30.0-7743fe52.log
):
Configuring executable 'cardano-node' for cardano-node-1.30.0..
Preprocessing executable 'cardano-node' for cardano-node-1.30.0..
Building executable 'cardano-node' for cardano-node-1.30.0..
[1 of 2] Compiling Paths_cardano_node ( dist/build/cardano-node/autogen/Paths_cardano_node.hs, dist/build/cardano-node/cardano-node-tmp/Paths_cardano_node.o )
[2 of 2] Compiling Main             ( app/cardano-node.hs, dist/build/cardano-node/cardano-node-tmp/Main.o )
Linking dist/build/cardano-node/cardano-node ...
Undefined symbols for architecture x86_64:
  "_crypto_vrf_proof_to_hash", referenced from:
      _Lcjn0_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_prove", referenced from:
      _LcjgN_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_verify", referenced from:
      _LciZz_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_secretkeybytes", referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_signKeySizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _LcjD1_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_keypair_from_seed", referenced from:
      _Lcj9q_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_sk_to_pk", referenced from:
      _Lcj6R_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_publickeybytes", referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_verKeySizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _Lcjrs_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_proofbytes", referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_certSizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_outputbytes", referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_zdfVRFAlgorithmPraosVRFzuzdcsizzeOutputVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_vrfKeySizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_verify1_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  "_crypto_vrf_seedbytes", referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_zdfVRFAlgorithmPraosVRFzuzdcseedSizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_zdfVRFAlgorithmPraosVRF4_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_zdfVRFAlgorithmPraosVRF5_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_zdfVRFAlgorithmPraosVRF2_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
      _LshDn_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
`gcc' failed in phase `Linker'. (Exit code: 1)
cabal: Failed to build exe:cardano-cli from cardano-cli-1.30.0 (which is
required by exe:plutus-starter-pab from plutus-starter-0.1.0.0). See the build
log above for details.
Failed to build exe:cardano-node from cardano-node-1.30.0 (which is required
by exe:plutus-starter-pab from plutus-starter-0.1.0.0). See the build log
above for details.
2
  • Welcome to Cardano SE! As a new user be sure to take the Tour.
    – gRebel
    Jan 14, 2022 at 5:37
  • Can you please provide some more context which instructions you are following exactly, so that the instruction can potentially be amended to be clearer?
    – angerman
    Jan 14, 2022 at 8:42

1 Answer 1

1

These missing symbols _crypto_vrf_* are in libsoidum-vrf library. You seem to be linking the cardano-node against your systems provided libsodium. That sadly doesn't work as the official libsodium does not have the vrf extension.

3
  • Thank you for the answer. In my first attempt to build it, I got an error saying that libsodium was missing. I used brew to install it, and in my second attempt, I got the error you just commented. I will remove the libsodium version I have and I will try the version in the repository you shared. Jan 14, 2022 at 14:38
  • After several more attempts, I figured out that I was building using the wrong terminal window. After changing my docker settings to increase the memory and swap sizes, I made it with no problem. Jan 14, 2022 at 17:42
  • Can you accept this answer so the question will be closed since this is resolved? Jan 17, 2022 at 6:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.