Cold Environment Binaries

Hi Team,

I’m in the process of setting up my air-gapped machine, I’ve copied the cardano-cli binary over from my hot environment but am encountering an error when trying to execute the binary.

For example, when I run ./cardano-cli version, i get:
-bash: ./cardano-cli: cannot execute binary file: Exec format error.

Do I have to also install libsodium? I’m thinking about building the node from source to mirror my hot environment completely.

Thank you!

My new Pi is running on ARM architecture… big oof! Problem solved!

1 Like

Hi, I’m about to transfer my binary file over to my air-gapped PI3, what does “ARM architecture” mean? Did you end up having to build from the source again? Just curious about what I may run into.

Hey Mate,

The architecture of a CPU refers to the physical/logical arrangement of the chip itself, and therefore how the chip processes commands it is given. Since the cardano-cli binaries (or any other binaries for that matter) were created on an x86 architecture, they can only be understood by the x86 architecture.

Put simply, the binaries are in the wrong format for the Raspberry Pi to run natively. There are some work arounds that seems like a big head ache, so I avoided them. I ended up getting an Intel nuc and installing linux on there as my cold environment instead of using a PI :slight_smile:

THANK YOU! You just saved me a very big headache! I will look for a different option for an air-gapped machine. Much appreciated :+1:

Hello,
I’m facing the same problem. But I have a raspberry pi 4 with 8 gb ram, so that shouldn’t be a problem right?
Which are the complicated workarounds you mention?

Thanks in advance,

Hi @LatinStakePools ,
It’s not a compute or memory issue.
It’s because your hot env and cold env do not have the same CPU architecture.
So the cardano-cli binary compiled on your relay/producer ( probably an x86 architecture, intel CPU ) won’t run on a raspberry pi (ARM architecture ).
You would need to recompile the cardano-cli from source to run on ARM.

Thanks for the clarification!