mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-05-15 07:25:04 +00:00
Qt6: update doc
This commit is contained in:
@@ -60,6 +60,7 @@ If your platform needs specific lib/include paths for the client, you can use `L
|
||||
It's also possible to skip parts even if libraries are present in the compilation environment:
|
||||
|
||||
* `make client SKIPQT=1` to skip GUI even if Qt is present
|
||||
* `make client SKIPQT6=1` to skip Qt6 even if Qt6 is present, anf fallback on Qt5
|
||||
* `make client SKIPBT=1` to skip native Bluetooth support even if libbluetooth is present
|
||||
* `make client SKIPPYTHON=1` to skip embedded Python 3 interpreter even if libpython3 is present
|
||||
* `make client SKIPLUASYSTEM=1` to skip system Lua lib even if liblua5.2 is present, use embedded Lua lib instead
|
||||
@@ -86,6 +87,8 @@ One tool requires a CUDA compilation environment, it can be skipped as well:
|
||||
|
||||
Some unittests are available via `make check`, which is actually triggering individual targets as for `make install`.
|
||||
|
||||
* `SKIPUV=1 tools/pm3_tests.sh` to skip usage of `uv` even if `uv` is present, and force usage of `python3` (in which case you must take care of installing the script dependencies yourself)
|
||||
|
||||
`make install` is actually triggering the following individual targets which can be accessed individually:
|
||||
|
||||
* `make client/install`
|
||||
|
||||
@@ -70,9 +70,10 @@ At the moment both are maintained because they don't perfectly overlap yet.
|
||||
| dep pthread | sys | sys | |
|
||||
| pthread detection | **none** | **none** (1) | (1) cf https://stackoverflow.com/questions/1620918/cmake-and-libpthread ? |
|
||||
| `SKIPPTHREAD` | yes | yes | e.g. for termux |
|
||||
| dep Qt | opt, sys, Qt5 & Qt4 | opt, sys, Qt5 | |
|
||||
| dep Qt | opt, sys, Qt6 & Qt5 | opt, sys, Qt5 | |
|
||||
| Qt detection | pc(qt6)/pc(qt5)/`QTDIR`(1) (2) | find_package(qt5) (3) | (1) if `QTDIR`: hardcode path (2) OSX: pkg-config hook for Brew (3) OSX: add search path|
|
||||
| `SKIPQT` | yes | yes | |
|
||||
| `SKIPQT6` | yes | no | |
|
||||
| dep readline | sys | sys | |
|
||||
| readline detection | **none** (1) | find*(2), Cross:getzip | (1) OSX: hardcoded path (2) additional paths for OSX |
|
||||
| `SKIPREADLINE` | yes | yes | CLI not fully functional without Readline |
|
||||
|
||||
@@ -59,7 +59,7 @@ Install the requirements
|
||||
|
||||
```sh
|
||||
sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \
|
||||
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev \
|
||||
libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev \
|
||||
libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev
|
||||
```
|
||||
|
||||
@@ -68,7 +68,7 @@ libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev
|
||||
you can skip the installation of `libbluetooth-dev`.
|
||||
|
||||
👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`),
|
||||
you can skip the installation of `qtbase5-dev`.
|
||||
you can skip the installation of `qt6-base-dev`.
|
||||
|
||||
👉 If you don't need support for Python3 scripts in the Proxmark3 client,
|
||||
you can skip the installation of `libpython3-dev`.
|
||||
@@ -86,7 +86,7 @@ you may have to install `libcanberra-gtk-module`.
|
||||
|
||||
```sh
|
||||
sudo pacman -Syu git base-devel readline bzip2 lz4 arm-none-eabi-gcc \
|
||||
arm-none-eabi-newlib qt5-base bluez python gd --needed
|
||||
arm-none-eabi-newlib qt6-base bluez python gd --needed
|
||||
```
|
||||
|
||||
### If you don't need...
|
||||
@@ -94,7 +94,7 @@ arm-none-eabi-newlib qt5-base bluez python gd --needed
|
||||
you can skip the installation of `bluez`.
|
||||
|
||||
👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`),
|
||||
you can skip the installation of `qt5-base`.
|
||||
you can skip the installation of `qt6-base`.
|
||||
|
||||
👉 If you don't need support for Python3 scripts in the Proxmark3 client,
|
||||
you can skip the installation of `python`.
|
||||
@@ -108,7 +108,7 @@ you can skip the installation of `gd`.
|
||||
|
||||
```sh
|
||||
sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib \
|
||||
readline-devel bzip2-devel lz4-devel qt5-qtbase-devel bluez-libs-devel \
|
||||
readline-devel bzip2-devel lz4-devel qt6-qtbase-devel bluez-libs-devel \
|
||||
python3-devel libatomic openssl-devel gd-devel
|
||||
```
|
||||
|
||||
@@ -117,7 +117,7 @@ python3-devel libatomic openssl-devel gd-devel
|
||||
you can skip the installation of `bluez-libs-devel`.
|
||||
|
||||
👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`),
|
||||
you can skip the installation of `qt5-qtbase-devel`.
|
||||
you can skip the installation of `qt6-qtbase-devel`.
|
||||
|
||||
👉 If you don't need support for Python3 scripts in the Proxmark3 client,
|
||||
you can skip the installation of `python3-devel`.
|
||||
@@ -140,19 +140,32 @@ sudo zypper install cross-arm-none-eabi-gcc15 cross-arm-none-eabi-newlib
|
||||
|
||||
Note that Bluez is not available on openSUSE Leap so the native Bluetooth support won't be available in the client.
|
||||
|
||||
Note that the instructions above are for an usage with Qt5. In case of conflict with the presence of development files of Qt6, you can force Qt5 with `make SKIPQT6=1`.
|
||||
|
||||
It is possible to compile the proxmark3 client with Qt6 but with some caveats because the default compiler is GCC 7 and Qt6 requires at least GCC 8:
|
||||
- install `gcc15 gcc15-c++` instead of `gcc-c++`
|
||||
- install `qt6-core-devel qt6-widgets-devel` instead of `libqt5-qtbase-devel`
|
||||
- set default compiler to GCC 15 instead of GCC 7
|
||||
```
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 100 && \
|
||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-15 100 && \
|
||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-15 100 && \
|
||||
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-15 100
|
||||
```
|
||||
|
||||
## On openSUSE Tumbleweed
|
||||
^[Top](#top)
|
||||
|
||||
```sh
|
||||
sudo zypper install git patterns-devel-base-devel_basis gcc-c++ \
|
||||
readline-devel libbz2-devel liblz4-devel bluez-devel \
|
||||
python3-devel libqt5-qtbase-devel libopenssl-devel gd-devel \
|
||||
python3-devel qt6-core-devel qt6-widgets-devel libopenssl-devel gd-devel \
|
||||
cross-arm-none-gcc12 cross-arm-none-newlib-devel
|
||||
```
|
||||
|
||||
### If you don't need...
|
||||
👉 If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`),
|
||||
you can skip the installation of `libqt5-qtbase-devel`.
|
||||
you can skip the installation of `qt6-core-devel qt6-widgets-devel`.
|
||||
|
||||
👉 If you don't need support for Python3 scripts in the Proxmark3 client,
|
||||
you can skip the installation of `python3-devel`.
|
||||
|
||||
@@ -29,7 +29,7 @@ Always use the latest repository commits from *master* branch. There are always
|
||||
- [Qt Session management error](#qt-session-management-error)
|
||||
- [found architecture 'x86\_64' required architecture 'arm64' error](#found-architecture-x86_64-required-architecture-arm64-error)
|
||||
- [wrong permissions on runtime directory /run/user/1000](#wrong-permissions-on-runtime-directory-runuser1000)
|
||||
- [proxspace `file not found or locked` on Windows 11](#proxspace-file-not-found-or-locked-on-windows-11)
|
||||
- [proxspace 'file not found or locked' on Windows 11](#proxspace-file-not-found-or-locked-on-windows-11)
|
||||
|
||||
## `pm3` or `pm3-flash*` doesn't see my Proxmark
|
||||
|
||||
@@ -253,8 +253,8 @@ make: *** [Makefile:177: client/all] Error 2
|
||||
The following dependencies are currently needed to make the development environment compile:
|
||||
```
|
||||
sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \
|
||||
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev \
|
||||
libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev
|
||||
libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev \
|
||||
libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev
|
||||
```
|
||||
|
||||
## target attribute is not supported on this machine
|
||||
|
||||
@@ -37,6 +37,13 @@ make clean
|
||||
make SKIPQT=1
|
||||
```
|
||||
|
||||
or to force a fallback to Qt5 even when Qt6 is installed
|
||||
|
||||
```
|
||||
make clean
|
||||
make SKIPQT6=1
|
||||
```
|
||||
|
||||
On Linux hosts, if the Bluez headers and library are present, the client will be compiled with native Bluetooth support. It's possible to explicitly skip Bluetooth support with:
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user