Whonix on Mac M1 (ARM) - User Support (still unsupported at time of writing)

Ok seems that as the thread title states arm64 is unsupported and currently due to monero-gui repo being removed the build script is inoperable.

kicksecure/monero-gui having been removed is causing the issues.

Yeah seems like i cannot build the project anymore either. Any hope that this could be fixed so we who build the project for macos silicon can still use this?

1 Like

ok build against the latest release. Do not use any branches. It builds fine.

Thanks to @b4sh, the whole process was clear and simple. I used this to fetch the source:
git clone --depth=1 --jobs=4 --recurse-submodules --shallow-submodules https://github.com/Whonix/derivative-maker.git

And executed the two commands from wiki/MacOS#M1:

~/derivative-maker/derivative-maker --flavor whonix-gateway-xfce --target utm --arch arm64 --build --tb open

~/derivative-maker/derivative-maker --flavor whonix-workstation-xfce --target utm --arch arm64 --build --tb open

Maybe itā€™s time to update the Wiki?

Iā€™ve been facing this problem for several days now. Has anyone had this? I tried to reinstall the dependencies, but it doesnā€™t work.

The most interesting thing is that I managed to build a working Gateway without errors, but I donā€™t know how. After Gateway, I tried to build a Workstation, but it didnā€™t because of an error. Now the Gateway does not want to be built again. Hellā€¦

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
                 Depends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installed
 libreoffice-common : Breaks: libreoffice-core (< 4:7.4~) but 1:7.0.4-4+deb11u7 is to be installed
 libsemanage1 : Depends: libsemanage-common (= 3.1-1) but 3.4-1 is to be installed
 python3-uno : Depends: libreoffice-core-nogui (= 4:7.4.5-3) but it is not going to be installed or
                        libreoffice-core (= 4:7.4.5-3) but 1:7.0.4-4+deb11u7 is to be installed
 ure : Breaks: libreoffice-core (< 1:7.4.0~) but 1:7.0.4-4+deb11u7 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
++ exception_handler_general ERR
++ last_failed_exit_code=100
++ last_failed_bash_command='$SUDO_TO_ROOT apt-get ${APTGETOPT[@]} -o Dir::Etc::sourcelist="$dist_build_sources_list_primary" -o Dir::Etc::sourceparts="-" $apt_unattended_opts --no-install-recommends --yes install $packages_to_be_installed'

UPD: new error packages

Errors were encountered while processing:
 fp-compiler-3.2.0:arm64
 lazarus-ide-2.0
 lcl-utils-2.0
 fpc-3.2.0
 lcl-2.0:arm64
 lazarus-ide-gtk2-2.0
 lazarus-ide
 fpc
 lazarus-2.0
 lazarus
E: Sub-process /usr/bin/dpkg returned an error code (1)
++ exception_handler_general ERR
++ last_failed_exit_code=100
++ last_failed_bash_command='$SUDO_TO_ROOT apt-get ${APTGETOPT[@]} -o Dir::Etc::sourcelist="$dist_build_sources_list_primary" -o Dir::Etc::sourceparts="-" $apt_unattended_opts --no-install-recommends --yes install $packages_to_be_installed'
++ output_cmd_set

Trying to build Whonix 17 (Debian 12 bookworm based) on Debian 11 bullseye? Not possible.

derivative-builder doesnā€™t contain textual strings such as libgtk, libcairo2 or libreoffice. It looks like youā€™re having general system configuration issues.

For debugging, try running this command:

sudo dpkg --audit

It is expected that there is no output.

But if dpkg shows something, this means that dpkg found a system configuration issue.

modified quote of the dpkg man page:

--audit
Performs database sanity and consistency checks for [ā€¦] all packages. For example, searches for packages that have been installed only partially on your system or that have missing, wrong or obsolete control data or files. dpkg will suggest what to do with them to get them fixed.

The user must fix this issue before proceeding. These issue is most likely not caused by derivative-issue. This is most likely a general system configuration issue.

No, Iā€™m trying to build 16.1.1.5-stable on the latest Bullseye Debian.

Yes, there is a problem with configuring fp-compiler-3.2.0:arm64 because of Ā«Invalid floating point operationĀ». I didnā€™t find any solutions, unfortunately. Yet.

Having the same issue with fp-compiler-3.2.0:arm64. Unable to complete build at this moment and have yet to find any solutions.

sudo dpkg --audit

The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 fp-compiler-3.2.0:arm64 Free Pascal - compiler
sudo dpkg --configure fp-compiler-3.2.0:arm64

Setting up fp-compiler-3.2.0:arm64 (3.2.0+dfsg-12) ...
An unhandled exception occurred at $0000000000470960:
EInvalidOp: Invalid floating point operation
  $0000000000470960
  $0000000000472FC0
  $0000000000472F04
  $0000000000470FA8
  $0000000000400EEC
  $0000000000402ACC
  $0000FFFF99446E18
  $0000000000400668

dpkg: error processing package fp-compiler-3.2.0:arm64 (--configure):
 installed fp-compiler-3.2.0:arm64 package post-installation script subprocess returned error exit status 217
Errors were encountered while processing:
 fp-compiler-3.2.0:arm64

Needs to be reported to Debian.

Hello! I found an issue in pascalā€™s source repository (idk if itā€™s you or not). I joined the discussion, tried to build from source. See:

3.2.0 canā€™t be built and as of now, I havenā€™t found any solution. If you use emulated arm64 in utm, then 3.2.0 builds, but the system is very slow (building of whonix-gateway took 6+ hours versus ~1h on native m1 pro).

3.2.2 builds like a charm from source, but I havenā€™t managed to install it from backports (for some reason apt still picks 3.2.0 AND 3.2.2 despite the priorities in preferences).

Seems that maintainer of fpc suggests just to install fpc 3.2.2.

@Patrick Could you please suggest:

  1. if I manage to install 3.2.2 from backports, will it work for the installation?
  2. Should I skip the fpc error in that case, will fpc 3.2.2 be included/noticed by gateway/workstation builds?
  3. Can I build from source and tell Whonix that binaries are in a {path}?

Also: just curious, why Whonix requires the whole FP IDE in the build (I mean lazarus, fp-ide etc installations)? Could it be optional/skipped?

Thanks:)

Hey all! Managed to build & setup Gateway & Workstation version 17. Macbook Pro M1 Pro aka MacBookPro18,1 with UTM. Just followed instructions on the wiki page.

No problems with build except Workstation build failing tor downloader/updater because of the signature. The error that it throws is not self-explanatory - see log below. It says that download location is maybe moved or wrong, or connectivity issue, but in a nutshell, as you can see much more above in the logs, itā€™s just a signature check failing.

Iā€™ve build Workstation with --tb open flag and it built successfully, but now I donā€™t have tor browser and tb-updater inside workstation canā€™t download it either - same error. I guess, I can easily install it manually, but better if there is an option to make it automatic and updatable. Please, any help?

I saw in another thread (ARM64 TB Maintainer) on this forum that signature public key should be updated once a year(?). Should we do that or this is another kind of problem? Thanks.

Logs

In short it says:

gpg: key 6AF15D1E45FDCEC9: public key "Heikki Lindholm <holin@iki.fi>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg_bash_lib_output_gpg_verify_output:
gpg: Signature made Sat Jul  8 16:57:30 2023 UTC
gpg:                using EDDSA key F5DAAED7A3A5BA2F429D2C5CCFFF1D4136F3AFA6
gpg: Can'\''t check signature: No public key

Hey, glad to hear you got it to build. How did you get around the issue with fp-compiler-3.2.0:arm64?

1 Like
1 Like

I made a change to the source code. Itā€™s not required and no longer installed for arm64 builds.

2 Likes

I built Whonix 17, which is built on Debian Bookworm, which has fp-compiler-3.2.2 in main repos, so there was no fp-compiler issue anymore.

Quick Question, after following the apple silicon Soc guide, and building the utm iso of whonix, the gate way is 107GB is this normal? I only have 256gb in Mac book air this is eating up so much spaceā€¦ Any advice on what I can do? The work station is quite large too.

Related:

Donā€™t know how that works on Mac.

Are these sparse files or actually taking the space?

Well Iā€™m not 100% sure but the macos system storage is showing the space as used up, other option is uploading to iCloud or put on microSD.

Tor browser updater wont allow to download tor browser, I tried using ARCH=arm64 update-torbrowser and it fails the signatures check

update-torbrowser
INFO: chroot: is_chroot=true is not set, ok.
INFO: Auto detecting ARCHā€¦
INFO: ARCH ā€˜aarch64ā€™ detected.
INFO: Auto detecting ARCH_DOWNLOADā€¦
INFO: ARCH_DOWNLOAD ā€˜linux-arm64ā€™ detected.
INFO: CURL_PROXY: --proxy socks5h://tb-updater_4450ccdb-4805-4b5e-aef4-e81f03ba0094:password@10.152.152.10:9115
INFO: Not running inside Qubes Disposable Template, ok.
INFO: Using stable version. For alpha version, see: Tor Browser Essentials
INFO: Running Tor enabled checkā€¦ Done.
INFO: Running Tor bootstrap checkā€¦ Done.
INFO: Skipping ā€˜tb_connectivity_checks_curlā€™, because tb_skip_functions includes it.
INFO: Find out latest versionā€¦ Downloadingā€¦: https://aus1.torproject.org/torbrowser/update_3/release/downloads.json
INFO: CURL_OUT_FILE: /home/user/.cache/tb/RecommendedTBBVersions
INFO: Learn more about this Download Confirmation Notification.
https://www.whonix.org/wiki/Tor_Browser/Download_Confirmation_Notification
INFO: Previously downloaded version: none
INFO: Currently installed version: None installed. (Folder /home/user/.tb/tor-browser does not exist.)
INFO: Online detected version: 12.5.2
QUESTION: Download now?
y/n?
y
INFO: Requested Tor Browser version only support an ALL locale, fetching it.
INFO: Because you are not using --nokilltb, now killing potentially still running instances of Tor Browserā€¦
firefox.real: no process found
INFO: Digital signature (GPG) downloadā€¦ Will take a momentā€¦
INFO: Downloadingā€¦: Download tor-browser-linux-arm64-12.5.2_ALL.tar.xz.asc (Tor Browser Ports)
INFO: CURL_OUT_FILE: /home/user/.cache/tb/files/tor-browser-linux-arm64-12.5.2_ALL.tar.xz.asc
INFO: Downloading Tor Browserā€¦
INFO: Downloadingā€¦: Download tor-browser-linux-arm64-12.5.2_ALL.tar.xz (Tor Browser Ports)
INFO: CURL_OUT_FILE: /home/user/.cache/tb/files/tor-browser-linux-arm64-12.5.2_ALL.tar.xz
INFO: Digital signature (GPG) verificationā€¦ This will take a momentā€¦
INFO: Using digital signature signing key by Heikki Lindholm.
ARM64 Tor Browser Maintainer
ERROR: Digital signature (GPG) could NOT be verified.
Tor Browser update failed! Try again later.

gpg_bash_lib_output_alright_status:
gpg_bash_lib_output_failure:

gpg_bash_lib_output_diagnostic_message:

gpg_bash_lib_internal_gpg_verify_status_fd_file: /home/user/.cache/tb/gpgtmpdir/gpg_bash_lib_internal_gpg_verify_status_fd_file
gpg_bash_lib_internal_gpg_verify_output_file: /home/user/.cache/tb/gpgtmpdir/gpg_bash_lib_internal_gpg_verify_output_file
gpg_bash_lib_output_gpg_import_output:
gpg: keybox ā€˜/home/user/.cache/tb/gpgtmpdir/pubring.kbxā€™ created
gpg: /home/user/.cache/tb/gpgtmpdir/trustdb.gpg: trustdb created
gpg: key 6AF15D1E45FDCEC9: public key "Heikki Lindholm " imported
gpg: Total number processed: 1
gpg: imported: 1
gpg_bash_lib_output_gpg_verify_output:
gpg: Signature made Sun Aug 6 13:09:04 2023 UTC
gpg: using EDDSA key F5DAAED7A3A5BA2F429D2C5CCFFF1D4136F3AFA6
gpg: Canā€™t check signature: No public key
gpg_bash_lib_output_gpg_verify_status_fd_output:
zsh: exit 12 update-torbrowser