Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure Linux arm64 is working properly #4051

Open
joshbowyer opened this issue Jul 26, 2020 · 49 comments
Open

Ensure Linux arm64 is working properly #4051

joshbowyer opened this issue Jul 26, 2020 · 49 comments
Assignees

Comments

@joshbowyer
Copy link

Is your feature request related to a problem? Please describe.

With the rise of Linux arm devices, including the Librem5 and PinePhone, there is a need for a Bitcoin wallet that can run on arm64.

Describe the solution you'd like

Arm64 build for Linux. An additional enhancement would be to make the UI adaptive, so it can work on mobile screen sizes.

Describe alternatives you've considered

There are currently NO Bitcoin wallets that meet these criteria.

@MaxHillebrand
Copy link
Member

ping @jmacato

@yahiheb
Copy link
Collaborator

yahiheb commented Jul 26, 2020

#2189 (comment)

@jmacato
Copy link
Contributor

jmacato commented Jul 26, 2020

Now you can unofficially build Wasabi to ARM/ARM64.. I personally use it most of the time (because x86 is a hot mess, with AMD PSP and Intel ME crap in it + spectre BS) but it misses the bitcoin full node and HWI functionality.

@joshbowyer
Copy link
Author

Can you explain how? I see .NET as a dependency, and the issue yahiheb linked to above says that isn't available for arm. How can I build it the way you do?

@kiminuo
Copy link
Collaborator

kiminuo commented Jul 28, 2020

@joshbowyer

Can you explain how? I see .NET as a dependency, and the issue yahiheb linked to above says that isn't available for arm. How can I build it the way you do?

I believe you will have to do some research on your side. I would start with this:

# Clone the repo
git clone https://github.com/zkSNACKs/WalletWasabi.git
cd WalletWasabi
# Attemp to publish for linux-arm64 in `dist` folder.
dotnet publish --configuration Release --force --output "./dist" --self-contained true --runtime "linux-arm64" -fl /p:VersionPrefix=1.1.20 --disable-parallel --no-cache /p:DebugType=none /p:DebugSymbols=false /p:ErrorReport=none /p:DocumentationFile=\"\" /p:Deterministic=True;

List of Linux RIDs is here: https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#linux-rids

(From #3950 (comment))

But given that I don't have linux-arm64 I can't test it. So as said here #2189 (comment), it's not officially supported and you are on your own in this.

@nolim1t
Copy link

nolim1t commented Sep 5, 2020

Now you can unofficially build Wasabi to ARM/ARM64.. I personally use it most of the time (because x86 is a hot mess, with AMD PSP and Intel ME crap in it + spectre BS) but it misses the bitcoin full node and HWI functionality.

Off topic - HWI functionality is available on ARM systems. I've gotten my hardware wallets working with ARM (you can refer to this project which I'm maintaining which bundles specter desktop in a cross platform docker container .

No issues running a full node too.

Though I'd love to see arm64 support so I can use this on my pinebook

@nolim1t
Copy link

nolim1t commented Sep 5, 2020

Can you explain how? I see .NET as a dependency, and the issue yahiheb linked to above says that isn't available for arm. How can I build it the way you do?

I believe you will have to do some research on your side. I would start with this:

# Clone the repo
git clone https://github.com/zkSNACKs/WalletWasabi.git
cd WalletWasabi
# Attemp to publish for linux-arm64 in `dist` folder.
dotnet publish --configuration Release --force --output "./dist" --self-contained true --runtime "linux-arm64" -fl /p:VersionPrefix=1.1.20 --disable-parallel --no-cache /p:DebugType=none /p:DebugSymbols=false /p:ErrorReport=none /p:DocumentationFile=\"\" /p:Deterministic=True;

List of Linux RIDs is here: https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#linux-rids

(From #3950 (comment))

But given that I don't have linux-arm64 I can't test it. So as said here #2189 (comment), it's not officially supported and you are on your own in this.

you'd have to also change the following

--- a/WalletWasabi.Backend/WalletWasabi.Backend.csproj
+++ b/WalletWasabi.Backend/WalletWasabi.Backend.csproj
@@ -1,7 +1,7 @@
 <EF><BB><BF><Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
-    <PlatformTarget>x64</PlatformTarget>
+    <PlatformTarget>arm64</PlatformTarget>

diff --git a/WalletWasabi.Gui/WalletWasabi.Gui.csproj b/WalletWasabi.Gui/WalletWasabi.Gui.csproj
index f616a4e88..f1150b4c5 100644
--- a/WalletWasabi.Gui/WalletWasabi.Gui.csproj
+++ b/WalletWasabi.Gui/WalletWasabi.Gui.csproj
   <PropertyGroup>
-    <PlatformTarget>x64</PlatformTarget>
+    <PlatformTarget>arm64</PlatformTarget>

It does build, however this is now the error when you try to run it (don't have much dotnet experience here). But appears that the liblibSkiaSharp library is missing. Could be my install but any hints on this would be nice

2020-09-05 17:13:19 INFO        Global (86)     .ctor finished in 13 milliseconds.
2020-09-05 17:13:19 INFO        Program (51)    Wasabi GUI started (f4da2c7f-1333-4f70-bd8b-4116a320e712).
2020-09-05 17:13:20 CRITICAL    Program (58)    System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
   at SkiaSharp.SkiaApi.gr_glinterface_assemble_gl_interface(IntPtr ctx, IntPtr get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(Object context, GRGlGetProcDelegate get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(GRGlGetProcDelegate get)
   at Avalonia.Skia.PlatformRenderInterface..ctor(ICustomSkiaGpu customSkiaGpu)
   at Avalonia.Skia.SkiaPlatform.Initialize(SkiaOptions options)
   at Avalonia.SkiaApplicationExtensions.<>c__0`1.<UseSkia>b__0_0()
   at Avalonia.Controls.AppBuilderBase`1.Setup()
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder](TAppBuilder builder, String appName, ShellAppMainDelegate main, String[] args, IFactory layoutFactory)
   at WalletWasabi.Gui.Program.Main(String[] args) in WalletWasabi.Gui/Program.cs:line 53
2020-09-05 17:13:20 WARNING     Program (162)   System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
   at SkiaSharp.SkiaApi.gr_glinterface_assemble_gl_interface(IntPtr ctx, IntPtr get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(Object context, GRGlGetProcDelegate get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(GRGlGetProcDelegate get)
   at Avalonia.Skia.PlatformRenderInterface..ctor(ICustomSkiaGpu customSkiaGpu)
   at Avalonia.Skia.SkiaPlatform.Initialize(SkiaOptions options)
   at Avalonia.SkiaApplicationExtensions.<>c__0`1.<UseSkia>b__0_0()
   at Avalonia.Controls.AppBuilderBase`1.Setup()
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder](TAppBuilder builder, String appName, ShellAppMainDelegate main, String[] args, IFactory layoutFactory)
   at WalletWasabi.Gui.Program.Main(String[] args) in WalletWasabi.Gui/Program.cs:line 53
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
   at SkiaSharp.SkiaApi.gr_glinterface_assemble_gl_interface(IntPtr ctx, IntPtr get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(Object context, GRGlGetProcDelegate get)
   at SkiaSharp.GRGlInterface.AssembleGlInterface(GRGlGetProcDelegate get)
   at Avalonia.Skia.PlatformRenderInterface..ctor(ICustomSkiaGpu customSkiaGpu)
   at Avalonia.Skia.SkiaPlatform.Initialize(SkiaOptions options)
   at Avalonia.SkiaApplicationExtensions.<>c__0`1.<UseSkia>b__0_0()
   at Avalonia.Controls.AppBuilderBase`1.Setup()
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder](TAppBuilder builder, String appName, ShellAppMainDelegate main, String[] args, IFactory layoutFactory)
   at WalletWasabi.Gui.Program.Main(String[] args) in WalletWasabi.Gui/Program.cs:line 53

@danwalmsley
Copy link

@nolim1t you need an arm compatible version of libSkiaSharp... @jmacato I think has one.

@danwalmsley
Copy link

@nolim1t iv been informed the next version of avalonia coming in days... works on arm out the box...

you could try this branch for an easier solution.

#3925

@danwalmsley
Copy link

@nopara73 I think arm is becoming way more important... we need to look into supporting ARM on OSX, and Linux, id imagine in 12 months time... Windows on ARM may start to become popular enough to warrant it also.

@nolim1t
Copy link

nolim1t commented Sep 5, 2020

@nolim1t iv been informed the next version of avalonia coming in days... works on arm out the box...

you could try this branch for an easier solution.

#3925

Thanks I'll try this out too

@nolim1t
Copy link

nolim1t commented Sep 5, 2020

Looks like theres an issue with fonts on that branch

020-09-05 19:21:52 CRITICAL    Program (58)    System.InvalidOperationException: Default font family name can't be null or empty.                                                                                    
   at Avalonia.Media.FontManager..ctor(IFontManagerImpl platformImpl)                                      
   at Avalonia.Media.FontManager.get_Current()                                                             
   at Avalonia.Rendering.RendererBase..ctor(Boolean useManualFpsCounting)                                  
   at Avalonia.Rendering.DeferredRenderer..ctor(IRenderRoot root, IRenderLoop renderLoop, ISceneBuilder sceneBuilder, IDispatcher dispatcher, IDeferredRendererLock rendererLock)                                     
   at Avalonia.X11.X11Window.CreateRenderer(IRenderRoot root)                                              
   at Avalonia.Controls.TopLevel..ctor(ITopLevelImpl impl, IAvaloniaDependencyResolver dependencyResolver) 
   at Avalonia.Controls.WindowBase..ctor(IWindowBaseImpl impl, IAvaloniaDependencyResolver dependencyResolver)                                                                                                        
   at Avalonia.Controls.WindowBase..ctor(IWindowBaseImpl impl)                                             
   at Avalonia.Controls.Window..ctor(IWindowImpl impl)                                                     
   at Avalonia.Controls.Window..ctor()                                                                     
   at AvalonStudio.Shell.Controls.MetroWindow..ctor()                                                      
   at WalletWasabi.Gui.MainWindow..ctor()                                                                  
   at WalletWasabi.Gui.App.OnFrameworkInitializationCompleted()                                            
   at Avalonia.Controls.AppBuilderBase`1.Setup()                                                           
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)                  
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder](TAppBuilder builder, String appName, ShellAppMainDelegate main, String[] args, IFactory layoutFactor

@joshbowyer
Copy link
Author

I think with Apple recently announcing their complete migration to arm64, and the new boom in Linux for arm64, that arm64 should be strongly considered now. Will Wasabi 2.0 be based on the same foundation (.Net, etc) or will it be entirely different?

@nopara73
Copy link
Contributor

ACK, I added this to the WW2 board, but I have no idea what's needed here and what it entails. @danwalmsley, would @jmacato have time to deal with this for WW2 as he's already done something before it may be the most reasonable to task him.

@nopara73
Copy link
Contributor

Talked with @danwalmsley and @jmacato :

  • Linux should be easy and is necessary.
  • Mac should be hard, thus why @danwalmsley is tasked with this, but it's necessary.
  • Windows isn't necessary for now.

@nopara73 nopara73 changed the title Package for Linux arm64? Ensure Linux & MacOS arm64 working properly Dec 10, 2020
@nopara73
Copy link
Contributor

nopara73 commented Dec 10, 2020

@nolim1t, according to @jmacato Linux ARM64 is already working with the new Fluent project. May I ask you to confirm it? (Must dotnet run from WalletWasabi.Fluent.Desktop directory.

@nolim1t
Copy link

nolim1t commented Dec 10, 2020

From master branch ?

@nopara73
Copy link
Contributor

Yes.

@nopara73
Copy link
Contributor

@nolim1t sorry I made a mistake, it's not the WalletWasabi.Fluent, but WalletWasabi.Fluent.Desktop directory.

@nopara73
Copy link
Contributor

nopara73 commented Dec 10, 2020

Current status of ARM64 support:

  • Wasabi: should be working on both Linux and OSX.
  • Avalonia: should be working on Linux, but not on OSX. @danwalmsley is on it.
  • Tor: Doesn't work neither on Linux, nor OSX. May I ask @molnard from you to make a PR with adding an ARM64 Tor binary and @jmacato will be able to test it.
  • HWI: Doesn't work neither on Linux, nor OSX. I'll ask @achow101 if he'll be up for a project work on this. Tracking issue: Add ARM Builds bitcoin-core/HWI#345
  • Bitcoin Knots: should not work with current shipped binaries, but it has an ARM version: https://bitcoinknots.org/ @molnard may I ask you to add make a PR with that, similar to the Tor binaries?

@jmacato
Copy link
Contributor

jmacato commented Dec 11, 2020

neofetch is good, please post it here

@jmacato
Copy link
Contributor

jmacato commented Dec 11, 2020

Similar issue in avalonia repo: AvaloniaUI/Avalonia#4427

@nolim1t
Copy link

nolim1t commented Dec 14, 2020

neofetch

██████████████████  ████████   nolim1t@nlpbp 
██████████████████  ████████   --------------- 
██████████████████  ████████   OS: Manjaro ARM Linux aarch64 
██████████████████  ████████   Host: Pine64 Pinebook Pro 
████████            ████████   Kernel: 5.9.11-2-MANJARO-ARM 
████████  ████████  ████████   Uptime: 12 mins 
████████  ████████  ████████   Packages: 807 (pacman) 
████████  ████████  ████████   Shell: bash 5.0.18 
████████  ████████  ████████   Resolution: 1920x1080 
████████  ████████  ████████   DE: Plasma 5.20.3 
████████  ████████  ████████   WM: KWin 
████████  ████████  ████████   WM Theme: plastik 
████████  ████████  ████████   Theme: Breeze Dark [Plasma], Breeze [GTK2], Br 
████████  ████████  ████████   Icons: breeze-dark [Plasma], breeze-dark [GTK2 
                               Terminal: konsole 
                               Terminal Font: Hack 13 
                               CPU: (6) @ 1.416GHz 
                               Memory: 2149MiB / 3795MiB 

                                                       
                                                       

@jmacato
Copy link
Contributor

jmacato commented Dec 14, 2020

@nolim1t can you try installing ttf-ms-fonts package from pacman/paman and then run fc-cache --force

@nolim1t
Copy link

nolim1t commented Dec 14, 2020

cool that worked.

Should mention this in the docs for the next release too

@jmacato
Copy link
Contributor

jmacato commented Dec 14, 2020

@nolim1t yeah i think we should... but srlsy.. arch distros are weird lol

@danwalmsley danwalmsley changed the title Ensure Linux arm64 is working properly Ensure Linux arm64 is working properly (+Apple Sillicon) Mar 21, 2021
@danwalmsley
Copy link

@sgulls
Copy link

sgulls commented Dec 13, 2021

Any updates on this? i am able to run dotnet build and dotnet run in WalletWasabi.Fluent.Desktop and the resulting program seems functional on both M1 and M1 pro.

How do I package this? I tried following the instructions at WalletWasabi.Documentation/Guides/DeterministicBuildGuide.md but it seems that the scripts expect compilation first on Windows and to transfer the zip file to a mac? Seems unnecessary given full support of .NET on arm64-darwin as of 6.0.

@kiminuo
Copy link
Collaborator

kiminuo commented Dec 14, 2021

@sgulls One important note though: You are building (most likely) x64 version, not arm64 and that's because of this line(s):

<RuntimeIdentifiers>win7-x64;linux-x64;osx-x64</RuntimeIdentifiers>

How do I package this? I tried following the instructions at WalletWasabi.Documentation/Guides/DeterministicBuildGuide.md but it seems that the scripts expect compilation first on Windows and to transfer the zip file to a mac? Seems unnecessary given full support of .NET on arm64-darwin as of 6.0.

Historically, Packager was written to work on Windows-only. There are some minor improvements in the pipeline (like #6810) that makes it better but ultimately Packager is not ready to be run on non-Windows OS yet.

Anyway, I have a rough patch to improve Packager and to improve building for Apple Silicon but it's not finished yet.

But if you can contribute a patch that would help with this, then great :-)

@sgulls
Copy link

sgulls commented Dec 14, 2021

@sgulls One important note though: You are building (most likely) x64 version, not arm64 and that's because of this line(s):

No I know I’m not because I changed all the runtime IDs throughout and it still compiled and ran. Plus, Activity Monitor reports “Apple Silicon”.

However, the tor binary it bundles in is indeed x64. But both tor and just recently tor browser have been successfully compiled and running on arm64-Darwin.

@kiminuo
Copy link
Collaborator

kiminuo commented Dec 14, 2021

@sgulls One important note though: You are building (most likely) x64 version, not arm64 and that's because of this line(s):

No I know I’m not because I changed all the runtime IDs throughout and it still compiled and ran. Plus, Activity Monitor reports “Apple Silicon”.

Yeah, then it's correct 👍

However, the tor binary it bundles in is indeed x64. But both tor and just recently tor browser have been successfully compiled and running on arm64-Darwin.

Thanks for the info. Good to know.

@nopara73
Copy link
Contributor

nopara73 commented Jun 6, 2022

@jmacato @danwalmsley what's the status of this?

@kiminuo
Copy link
Collaborator

kiminuo commented Jun 7, 2022

Apple Silicon (macOS) support

Regarding Apple Silicon (macOS) support we did:

and it works for @jmacato and me (last time I checked). Note that Tor we use on this platform is x64 and it runs under Rosetta. There was no build for macOS-arm64 last time I checked.

linux-arm64 support

Regarding linux-arm64 support, we haven't allowed that RID on our side - we should do it as there is no con to be ready. Otherwise, I don't know. I can have a look at this if we want to research it or move forward a bit. Dan will certainly share if Avalonia supports linux-arm64.

Tor for linux arm64:

HWI: bitcoin-core/HWI#345 - still open; though there is kiminuo/HWI#1 PR.
Bitcoin Knots: https://bitcoinknots.org/#download (OK)

@jmacato
Copy link
Contributor

jmacato commented Jun 7, 2022

I've been running Wasabi on linux-arm64 for years, Avalonia support is good but the Tor Browser binaries for linux-arm64 are not made yet. We could use debian-arm for it but idk if we will allow that. Aside from that it works good enough here on my linux arm64 laptop.

@nopara73 nopara73 changed the title Ensure Linux arm64 is working properly (+Apple Sillicon) Ensure Linux arm64 is working properly Jun 7, 2022
@jmacato
Copy link
Contributor

jmacato commented Jan 9, 2023

There wont be any official support for this platform for now. Closing.

@jmacato jmacato closed this as completed Jan 9, 2023
@kiminuo
Copy link
Collaborator

kiminuo commented Jan 9, 2023

There wont be any official support for this platform for now. Closing.

What is the reason to close this issue?

@kiminuo
Copy link
Collaborator

kiminuo commented Jan 11, 2023

Re-opening. The progress here is very slow but:

  1. We are waiting for https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/12631 (Tor for macOS arm64 and Tor for win arm64 was released a few weeks ago so hopefully this one is next)
  2. There is a patch for HWI on linux arm64 Build for arm64 on amd64 bitcoin-core/HWI#615 (prerequisite of that PR --without-gui for building without GUI support bitcoin-core/HWI#655 was merged a few days ago) and it should work.

Any help is welcome.

@kiminuo kiminuo reopened this Jan 11, 2023
@jmacato jmacato removed their assignment Jan 11, 2023
achow101 added a commit to bitcoin-core/HWI that referenced this issue Jan 30, 2024
3d3c02d Improve (Kiminuo)
ee3cf5f Add release instructions (Kiminuo)
d93c8f7 Add support for arm64 (Kiminuo)

Pull request description:

  Related to #345
  Related to zkSNACKs/WalletWasabi#4051 (comment)
  Discussion: Some discussion here: kiminuo#1

  This PR just shows how to do a deterministic build for `arm64` architecture. The hope is HWI's support for `arm64` will improve a bit.

  ### Setup

  To set up your environment, install:

  ```s
  sudo apt install qemu-user-static
  ```

  ### Build for arm64

  Use [docker buildx](https://docs.docker.com/buildx/working-with-buildx/) to replicate [deterministic build instructions](https://github.com/bitcoin-core/HWI/blob/master/docs/development/release-process.rst#deterministic-builds-with-docker) for the arm64 build:

  ```s
  docker buildx build --no-cache --platform linux/arm64 -t hwi-builder -f contrib/build.Dockerfile .

  # Note the use of "--without-gui".
  docker run --platform linux/arm64 -it --rm --name hwi-builder -v $PWD:/opt/hwi  --workdir /opt/hwi hwi-builder /bin/bash -c "contrib/build_bin.sh --without-gui && contrib/build_dist.sh --without-gui"
  ```

  i.e. the change is:

  ```diff
  -docker build --no-cache -t hwi-builder -f contrib/build.Dockerfile .
  -docker run -it --name hwi-builder -v $PWD:/opt/hwi --rm  --workdir /opt/hwi hwi-builder /bin/bash -c "contrib/build_bin.sh && contrib/build_dist.sh && contrib/build_wine.sh"
  +docker buildx build --no-cache --platform linux/arm64 -t hwi-builder -f contrib/build.Dockerfile .
  +docker run --platform linux/arm64 -it --rm --name hwi-builder -v $PWD:/opt/hwi  --workdir /opt/hwi hwi-builder /bin/bash -c "contrib/build_bin.sh --without-gui && contrib/build_dist.sh --without-gui"
  ```

  ### Resources

  * https://docs.docker.com/build/building/multi-platform/#building-multi-platform-images
  * https://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408

  ## Limitations

  ### No GUI support

  So far I had no luck with building `hwi-qt` because I get the following error

  ```
  Installing dependencies from lock file

  Package operations: 14 installs, 0 updates, 0 removals

    • Installing shiboken2 (5.15.2): Failed

    RuntimeError

    Unable to find installation candidates for shiboken2 (5.15.2)

    at ~/.pyenv/versions/3.9.7/lib/python3.9/site-packages/poetry/installation/chooser.py:72 in choose_for
         68│
         69│             links.append(link)
         70│
         71│         if not links:
      →  72│             raise RuntimeError(
         73│                 "Unable to find installation candidates for {}".format(package)
         74│             )
         75│
         76│         # Get the best link
  ```

  during execution of [`poetry install -E qt`](https://github.com/kiminuo/HWI/blob/a025af3ee3fdf0bac8dbdbc51b9e82ab946660b4/contrib/build_bin.sh#L12)

  That's why I use `build_bin.sh --without-gui` (see #655)

ACKs for top commit:
  achow101:
    ACK 3d3c02d

Tree-SHA512: 3df877ec3da07997c8281722ea0ec4687d850f1fec33cb5664e3f03cd8854cb02a90ce799da2123a88058b681fbb2bad31bdacbb485474d19fa88b60a4b73d83
@kiminuo
Copy link
Collaborator

kiminuo commented Feb 12, 2024

My PR for running HWI on linux arm64 was merged.

The HWI release 2.4.0 contains hwi-2.4.0-linux-aarch64.tar.gz binary file which should work on linux arm64 machines.

Tor for linux arm64 (issue) is still not available though.

@MaxHillebrand
Copy link
Member

You can find the Tor arm64 (and other arch) builds for different debian and ubuntu versions here: https://deb.torproject.org/torproject.org/pool/main/t/tor/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests