[tor-relays] Request for Tor to support armhf architecture

DiffieHellman tor at middlendian.com
Mon Aug 19 09:51:15 UTC 2024


Hi Landon,

Aarch64 is a supported architecture for tor, although it appears there
isn't a buildbot for binaries.

It'll be easiest to just compile from source, which I'll help you with.


First you install dependencies and fine GNU software
(I'm guessing some of the dependency names, as debian-based distros
have the bad habit of stripping the headers from libraries
(very small files that allow you to compile things) and
putting them in -dev named packages, or even worse under another name);
sudo apt install libevent-dev openssl-dev libcap-dev libseccomp-dev gnupg wget gcc make tar asciidoc

Download tor;
`wget https://dist.torproject.org/tor-0.4.8.12.tar.gz https://dist.torproject.org/tor-0.4.8.12.tar.gz.sha256sum https://dist.torproject.org/tor-0.4.8.12.tar.gz.sha256sum.asc`

Check that the archive isn't corrupted;
`sha256sum -c tor-0.4.8.12.tar.gz.sha256sum`

Check that the archive hasn't been tampered with;
`gpg --verify tor-0.4.8.12.tar.gz.sha256sum.asc`
The keys won't be in your keyring, so you'll get;
gpg:                using RSA key B74417EDDF22AC9F9E90F49142E86A2A11F48D36
gpg: Can't check signature: No public key
gpg:                using EDDSA key 514102454D0A87DB0767A1EBBE6A0531C18A917
gpg: Can't check signature: No public key

But you can just import them;
`gpg --recv-keys B74417EDDF22AC9F9E90F49142E86A2A11F48D36 514102454D0A87DB0767A1EBBE6A0531C18A9179`
gpg: key BEA7B180B1491921: public key "Alexander Færøy <ahf at 0x90.dk>" imported
gpg: key 42E86A2A11F48D36: 1 duplicate signature removed
gpg: key 42E86A2A11F48D36: public key "David Goulet <dgoulet at ev0ke.net>" imported

Then you can verify (the GNU bash command to repeat the command before last is `!-2`);
`gpg --verify tor-0.4.8.12.tar.gz.sha256sum.asc`;
The important part is "Good signature", the "WARNING" part is due to there not beng a web of trust.

Then extract the archive;
tar xf tor-0.4.8.12.tar.gz
(GNU tar gives no output on success, but returns 0 - you can check the
return code of the immediately previous command with `echo $?`).

Don't need the archive or signature anymore;
`rm tor-0.4.8.12.tar.gz*`

`cd tor-0.4.8.12`
Then configure;
`./configure`

The command may fail and tell you that a dependency is missing - to fix
that you install that dependency and try again until all dependencies are installed.

Then it is time to compile;
`make -j$(nproc)`

Compiling should not fail, but if so, gcc will tell you why.

Finally, (optionally) install with;
`sudo make install`.

-- 
Kind Regards, DiffieHellman


More information about the tor-relays mailing list