I had an issue building Cardano node 1.35.0 on my raspberry pi (arm64). Here I will outline the issue and the solution.
Error encountered when building:
cabal: Could not resolve dependencies:
[__0] trying: cardano-crypto-class-2.0.0 (user goal)
[__1] rejecting: cardano-crypto-class:+secp256k1-support (conflict: pkg-config
package libsecp256k1-any, not found in the pkg-config database)
[__1] rejecting: cardano-crypto-class:-secp256k1-support (manual flag can only
be changed explicitly)
[__1] fail (backjumping, conflict set: cardano-crypto-class,
cardano-crypto-class:secp256k1-support)
After searching the rest of the dependency tree exhaustively, these were the
goals I’ve had most trouble fulfilling: cardano-crypto-class,
cardano-crypto-class:secp256k1-support
Solution:
Get any potentially missing dependencies and then build secp256k1 from source.
sudo apt-get install nano llvm-12 numactl libnuma-dev autoconf automake libtool
mkdir ~/git
cd ~/git
git clone https://github.com/bitcoin-core/secp256k1.git
cd secp256k1
git reset --hard ac83be33d0956faf6b7f61a60ab524ef7d6a473a
./autogen.sh
./configure --prefix=/usr --enable-module-schnorrsig --enable-experimental
make
make check
sudo make install
sudo reboot
Now 1.35.0 should work:
cd into you cardano node directory and build
tmux # not required (but worth using on the pi)
git fetch --all --recurse-submodules --tags
git checkout tags/1.35.0
cabal configure -O0 -w ghc-8.10.4
echo -e "package cardano-crypto-praos\n flags: -external-libsodium-vrf" > cabal.project.local
cabal build cardano-node cardano-cli