<p>These missing symbols <code>_crypto_vrf_*</code> are in <a href="https://github.com/input-output-hk/libsodium" rel="nofollow noreferrer">libsoidum-vrf</a> library. You seem to be linking the <code>cardano-node</code> against your systems provided <code>libsodium</code>. That sadly doesn't work as the official <code>libsodium</code> does not have the <code>vrf</code> extension.</p>

CC BY-SA 4.0
2022-01-14T14:38:25.120Z
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.
Rogério De Leon Pereira
CC BY-SA 4.0
2022-01-14T17:42:12.707Z
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.
Rogério De Leon Pereira
CC BY-SA 4.0
2022-01-17T06:09:34.873Z
Can you accept this answer so the question will be closed since this is resolved?
Samuel Leathers
CC BY-SA 4.0
2022-01-14T08:42:05.157Z
2022-01-14T08:42:05.157Z
angerman
<p>I am following the steps as described in the repository, using VSCode and Docker.</p>
<p><a href="https://github.com/input-output-hk/plutus-starter" rel="nofollow noreferrer">https://github.com/input-output-hk/plutus-starter</a></p>
<p>All the dependencies looks good, but it failed on building the cardano-node.</p>
<pre><code>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:
  &quot;_crypto_vrf_proof_to_hash&quot;, referenced from:
      _Lcjn0_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_prove&quot;, referenced from:
      _LcjgN_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_verify&quot;, referenced from:
      _LciZz_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_secretkeybytes&quot;, 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)
  &quot;_crypto_vrf_keypair_from_seed&quot;, referenced from:
      _Lcj9q_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_sk_to_pk&quot;, referenced from:
      _Lcj6R_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_publickeybytes&quot;, 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)
  &quot;_crypto_vrf_proofbytes&quot;, referenced from:
      _crdnzmcryptzmprszm2zi0zi0zmac404e8e_CardanoziCryptoziVRFziPraos_certSizzeVRF_info in libHScrdn-crypt-prs-2.0.0-ac404e8e.a(Praos.o)
  &quot;_crypto_vrf_outputbytes&quot;, 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)
  &quot;_crypto_vrf_seedbytes&quot;, 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.
</code></pre>

CC BY-SA 4.0
2022-01-14T05:37:55.190Z
Welcome to Cardano SE! As a new user be sure to take the [Tour].
gRebel
CC BY-SA 4.0
2022-01-14T08:42:40.623Z
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
<plutus-pioneer-program><vscode><docker><macos>
VSCode + Docker setup problems on Mac (Intel)
# VSCode + Docker setup problems on Mac (Intel)

(Asked by: username_0 on 2022-01-14)

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.

**Tags:** plutus-pioneer-program, vscode, docker, macos
> **Comments:**
> **username_1**: Welcome to Cardano SE! As a new user be sure to take the [Tour].  
> **username_2**: Can you please provide some more context which instructions you are following exactly, so that the instruction can potentially be amended to be clearer?  

---

## 1 answers

### Answer by username_2 on 2022-01-14. Score: 1 | Accepted answer

These missing symbols `_crypto_vrf_*` are in [libsoidum-vrf](https://github.com/input-output-hk/libsodium) 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.

> **Comments:**
> **username_0**: 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.  
> **username_0**: 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.  
> **username_3**: Can you accept this answer so the question will be closed since this is resolved?  

---

