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

Add support to linux arm64 #248

Open
patrickelectric opened this issue Jul 6, 2024 · 7 comments
Open

Add support to linux arm64 #248

patrickelectric opened this issue Jul 6, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@patrickelectric
Copy link

Is this possible ?

@pzhlkj6612
Copy link
Contributor

Hi! Did you try that? This action and its backend will install Qt for you. Maybe you don't know how to specify parameters?

@patrickelectric
Copy link
Author

Hi! Did you try that? This action and its backend will install Qt for you. Maybe you don't know how to specify parameters?

You can check the action here, it already works for Linux, windows and Mac, it's failing for linux-arm.
https://github.com/bluerobotics/ping-viewer/actions/runs/9822633870/job/27119577771

@patrickelectric
Copy link
Author

It's installing GCC x64 for arm.

@pzhlkj6612
Copy link
Contributor

it already works for Linux, windows and Mac, it's failing for linux-arm.
https://github.com/bluerobotics/ping-viewer/actions/runs/9822633870/job/27119577771

It's installing GCC x64 for arm.

OK.

The workflow config of build (ubuntu-22-arm, pingviewer-Release-Arm.AppImage):

  run: jurplel/install-qt-action@v4
  with:
    version: 5.15.2
    target: desktop
    modules: qtcharts
    setup-python: false
    install-deps: true
    cache: false
    cache-key-prefix: install-qt-action
    add-tools-to-path: true
    set-env: true
    no-qt-binaries: false
    tools-only: false
    aqtversion: ==3.1.*
    py7zrversion: ==0.20.*
    source: false
    documentation: false
    examples: false

It failed because:

  • The Linux arm64 support of Qt has been added since version 6.7.0 1. To install arm64 build kit, you also need to specify the linux_arm64 host instead the default value 2. However,
  • This action does not support that host 2, so the workflow will fail.

The good news is that you may be able to install Qt arm64 with aqtinstall directly. Please try these commands 34:

set -e
sudo apt-get install build-essential libgl1-mesa-dev libgstreamer-gl1.0-0 libpulse-dev libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb1 libxkbcommon-dev libxkbcommon-x11-0 libxcb-xkb-dev -y
python3 -m pip install setuptools wheel py7zr==0.20.*
python3 -m pip install aqtinstall==3.1.*
python3 -m aqt version
python3 -m aqt install-qt linux_arm64 desktop 6.7.2 --autodesktop --outputdir /home/runner/work/ping-viewer/Qt --modules qtcharts

If everything goes well, I think you will see linux_gcc_arm64 during the Qt installation.


This action is not actively maintained, thus new features of its backend (i.e., aqtinstall) will not be quickly adapted. If above commands don't help you, you can search and raise issues in aqtinstall's repository.

Footnotes

  1. Search "arm64" and compare the result between https://doc.qt.io/qt-6.6/supported-platforms.html and https://doc.qt.io/qt-6.7/supported-platforms.html

  2. Host check: https://github.com/jurplel/install-qt-action/blob/f03f05556819ceb3781ee2f455ec44c339d683c0/action/src/main.ts#L116-L140 2

  3. Copied from https://github.com/jurplel/install-qt-action/blob/f03f05556819ceb3781ee2f455ec44c339d683c0/action/src/main.ts#L289-L331

  4. Copied from https://github.com/jurplel/install-qt-action/blob/f03f05556819ceb3781ee2f455ec44c339d683c0/action/src/main.ts#L347-L381

@jurplel
Copy link
Owner

jurplel commented Jul 13, 2024

This action is not actively maintained, thus new features of its backend

I wouldn't quite go that far—it does sometimes take me quite a while to find time to look into issues/PRs.

I would also definitely accept a PR providing support for this.

@Ryex
Copy link

Ryex commented Oct 10, 2024

This also affects host windows_arm64

aqt list-qt
usage: aqt list-qt [-h] [--extension {,arm64_v8a,src_doc_examples,armv7,x86_64,wasm,x86}]
                   [--spec SPECIFICATION]
                   [--modules (VERSION | latest) ARCHITECTURE | --long-modules (VERSION | latest) ARCHITECTURE | --extensions (VERSION | latest) | --arch (VERSION | latest) | --latest-version | --archives ARCHIVES [ARCHIVES ...]]
                   {linux,linux_arm64,mac,windows,windows_arm64} [{desktop,winrt,android,ios}]

aqt supports hosts {linux,linux_arm64,mac,windows,windows_arm64} this action limits the hosts to windows,mac,linux

@jurplel
Copy link
Owner

jurplel commented Oct 12, 2024

I will look into supporting more values for hosts later this week.

@jurplel jurplel added bug Something isn't working and removed enhancement New feature or request labels Oct 12, 2024
@pzhlkj6612 pzhlkj6612 moved this to Todo in Mozi's Qt stuff Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants