Skip to content

Commit 0eca2a6

Browse files
committed
- updated to qt 6.10.1
- updated links - fixed armv7a compilation - removed invalid libclang setup
1 parent 0f47d34 commit 0eca2a6

1 file changed

Lines changed: 23 additions & 24 deletions

File tree

README.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
## Supported Versions
1616

17-
- **PySide6:** `6.9.3` (guide verified against this version)
17+
- **PySide6:** `6.10.1` (guide verified against this version)
1818
- **Python:** `3.11.x` (preferred) or `3.10.x`
1919

2020
> [!WARNING]
@@ -60,16 +60,15 @@ You’ll save hours of compilation time and avoid a lot of complexity.
6060
> [!NOTE]
6161
> As of now, official Android wheels are available for **`aarch64`** and **`x86_64`**.
6262
63-
**Direct links for 6.9.1 (Python 3.11):**
63+
**Direct links for 6.10.1 (Python 3.11):**
6464

6565
- **PySide6**
66-
- [aarch64](https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.9.3-6.9.3-cp311-cp311-android_aarch64.whl)
67-
- [x86_64](https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.9.3-6.9.3-cp311-cp311-android_x86_64.whl)
66+
- [aarch64](https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.0-6.10.0-cp311-cp311-android_aarch64.whl)
67+
- [x86_64](https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.1-6.10.1-cp311-cp311-android_x86_64.whl)
6868

6969
- **Shiboken6**
70-
- [aarch64]() (NOT AVAILABLE)
71-
- [x86_64]() (NOT AVAILABLE)
72-
70+
- [aarch64](https://download.qt.io/official_releases/QtForPython/shiboken6/shiboken6-6.10.1-6.10.1-cp311-cp311-android_aarch64.whl) (NOT AVAILABLE)
71+
- [x86_64](https://download.qt.io/official_releases/QtForPython/shiboken6/shiboken6-6.10.1-6.10.1-cp311-cp311-android_x86_64.whl) (NOT AVAILABLE)
7372

7473

7574
If you prefer building your own wheels, see the [Legacy](#legacy-building-the-wheels-yourself) section below.
@@ -95,7 +94,7 @@ sudo pacman -Syu base-devel android-tools android-udev clang jdk17-openjdk llvm
9594
cd ~/
9695
git clone https://code.qt.io/pyside/pyside-setup
9796
cd pyside-setup
98-
git checkout 6.9.3 # dev branch can work, but is more error-prone
97+
git checkout 6.10.1 # dev branch can work, but is more error-prone
9998
python3 -m venv venv
10099
source venv/bin/activate
101100
pip install -r requirements.txt
@@ -314,7 +313,7 @@ pip install fastapi pydantic uvicorn
314313

315314
> [!NOTE]
316315
> This path is provided for reference and is **not** maintained as frequently. It may contain rough edges. Proceed if
317-
> you specifically need custom builds or unsupported combinations.
316+
> you specifically need custom-builds or unsupported combinations.
318317
319318
### Install Qt
320319
- Sign in at [qt.io](https://qt.io).
@@ -332,22 +331,11 @@ sudo pacman -Syu base-devel android-tools android-udev clang jdk17-openjdk llvm
332331
### Prepare `pyside-setup`
333332

334333
```bash
335-
python -m venv venv
334+
python3.11 -m venv venv
336335
source venv/bin/activate
337336
git clone https://code.qt.io/pyside/pyside-setup
338-
wget https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_140-based-linux-Rhel8.2-gcc9.2-x86_64.7z
339-
7z x libclang-release_140-based-linux-Rhel8.2-gcc9.2-x86_64.7z
340-
export LLVM_INSTALL_DIR=$PWD/libclang
341-
342-
# Persist for your shell
343-
if [ -n "$ZSH_VERSION" ]; then
344-
echo "export LLVM_INSTALL_DIR=$PWD/libclang" >> ~/.zshrc
345-
elif [ -n "$BASH_VERSION" ]; then
346-
echo "export LLVM_INSTALL_DIR=$PWD/libclang" >> ~/.bashrc
347-
fi
348-
349337
cd pyside-setup
350-
git checkout 6.9.3 # dev is possible, but not recommended
338+
git checkout 6.10.1 # dev is possible, but not recommended
351339
pip install -r requirements.txt
352340
pip install -r tools/cross_compile_android/requirements.txt
353341
pip install pyside6
@@ -367,6 +355,18 @@ Android architectures:
367355
> [!NOTE]
368356
> You only need to build these once; you can reuse the wheels across projects.
369357
358+
#### Important:
359+
You need to make a dummy fix for armv7a to work. After you have compiled the other 3 architectues, go to:
360+
`~/.pyside6_android_deploy/toolchain_armv7a.cmake` and remove the if statement after line 28, where it
361+
applies the `'-mpopcnt'` as a target, because this is invalid for armv7a. I don't know why Qt has it there, because
362+
it makes no sense, but yeah just remove it, and you are good to go.
363+
364+
So basically remove evrything after the `set(QT_COMPILER_FLAGS) .... -Wno-unused-command-line-argument")`
365+
and before `set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")`
366+
367+
But that don't clean cache then, because this will obviously override the toolchain.
368+
369+
370370
**Speed‑ups (optional):**
371371
- To build for **Python 3.10**, edit `main.py` and change `PYTHON_VERSION = 3.11` to `3.10`.
372372
- To change the NDK version from `r27c`, edit `tools/cross_compile_android/android_utilities.py`.
@@ -375,7 +375,7 @@ Android architectures:
375375
**Template command:**
376376

377377
```bash
378-
python tools/cross_compile_android/main.py --plat-name=<aarch64|armv7a|x86_64|i686> --qt-install-path=/path/to/Qt/6.9.1 --api-level 35 --auto-accept-license
378+
python tools/cross_compile_android/main.py --plat-name=<aarch64|armv7a|x86_64|i686> --qt-install-path=/path/to/Qt/6.10.1 --api-level 35 --auto-accept-license --clean-cache all
379379
```
380380

381381
Wheels appear under `dist/` when complete. If you hit errors, try:
@@ -386,7 +386,6 @@ Wheels appear under `dist/` when complete. If you hit errors, try:
386386
---
387387

388388
## Contributing
389-
390389
Spotted inaccuracies or have improvements? Please open an issue or PR. Contributions for other distributions (besides
391390
Arch) are especially welcome.
392391

0 commit comments

Comments
 (0)