= +1 Maintenance Report
I was on +1 maintenance on the week of 2023-04-03.
You can find the previous +1 maintenance report (by Steve Langasek) here: https://lists.ubuntu.com/archives/ubuntu-devel/2023-March/042534.html
You can find a PDF version of this report in the attachment.
== Summary
This was the first time I was doing the +1 maintenance, I was not very familiar with some of the procedures.
Thanks to everyone who helped me (including but not limited to, Brian Murray, Daniel Bungert, Steve Langasek, and Vladimir Petko)
with my +1 maintenance week!
We had less than 20 packages over 100 days old as the week started.
During my +1 maintenance week:
Seen/Investigated/Fixed Submitted: 75 / 41 / 7
== Details
=== Confirmed Fixes and Won't Fixes from the Previous Week
- `logol` from the previous +1 maintenance (by Steve) is now confirmed to be fixed by Debian.
- The *won't fix* statuses for `rust-document-features`, `wtforms-alchemy`, `wtforms-json`, `ruby-rackup`, and `ruby-rack-session` are retained due to the situation still holds (won't sync in LL).
=== Fix Submitted
rust-zram-generator (0.3.2-1 to 1.1.2-2)
This is a rustc/LLVM bug where if fat LTO is enabled, LLVM's DI (`DebugInfo`) will be emitted incorrectly.
You can find the upstream bug report (unfixed as of writing) here: https://github.com/rust-lang/rust/pull/89041
The fix was using the ThinLTO to achieve a similar effect without triggering the debug information generation issue.
sqlalchemy (1.4.31+ds1-1build2 to 1.4.46+ds1-1build1)
python-databases (0.6.1-1 to 0.7.0-1)
sqlmodel (0.0.6-1 to 0.0.8-4) → ormar/0.12.0-3
These packages were blocked by a migration dependency cycle introduced by `ormar`.
Due to an API change in `sqlalchemy`, the library `python-databases`, which is used by `ormar` had an issue unpacking a tuple
returned by the `sqlalchemy` backend.
However, this issue was fixed in the `python-databases` (version `0.7.0`) residing in the `proposed` repository,
which was being blocked by `sqlalchemy`, which was in turn blocked by `ormar`:
ormar/0.12.0-3 → python-databases/0.7.0 → sqlalchemy/1.4.46+ds1-1build1 → ormar/0.12.0-3
ruby-rspec (3.10.0c1e1m2s3-2 to 3.12.0c0e1m1s0-1) → jruby/9.3.9.0+ds-8 (s390x)
The `autopkgtest` of `jruby/9.3.9.0+ds-8` on `s390x` was failed due to an out-of-memory (OOM) situation.
The test succeeded after one retry, which indicates the test may be flaky.
rust-criterion (0.3.6-3 to 0.4.0-2)
Due to the `rustc` version discrepancy between Ubuntu and Debian, `rust-criterion` failed to compile in Ubuntu.
I have backported an upstream patch to `rust-criterion/0.4.0-2`, which fixed the compiler error by covering all
the possible enumeration variants (missing `match` cases in Rust is an error).
You can find the fix I proposed at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/rust-criterion/+git/rust-criterion/+merge/440546
hg-git (0.10.4-5 to 1.0.1-1)
The UI test failed with one mismatched output of `remote: found 0 deltas to reuse` due to the test corpus
did not account for an updated version of Git.
The fix was simply to add this line to the expected output corpus.
You can find the fix I proposed at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/hg-git/+git/hg-git/+merge/440545
=== Investigated but Not Fixed
cataclysm-dda (0.F-3-5 to 0.F-3-9)
We are using GCC 13, which introduced a stricter array out-of-bound (OOB) access check.
This game used `-Werror` in the `CFLAGS`, which failed to compile due to the stricter check.
xrstools (- to 0.15.0+git20210910+c147919d-3build2)
`setuptools` emitted the error: `Multiple top-level packages discovered in a flat-layout`.
This was accepted behaviour in older `setuptools`, but it is no longer the case here.
python-cython-blis (0.7.6-1build1 to 0.9.1-1build1)
On `ppc64le` CPU, the test did not pass due to a precision error caused by some math calculations.
This indicates that the C extension in this software likely did not account for the FPU differences
between CPU architectures.
git-annex (8.20210223-2ubuntu2 to 8.20210223-2ubuntu3)
This Haskell package failed to sync with Debian upstream due to Ubuntu deltas.
Please see this sync bug for more information: https://bugs.launchpad.net/ubuntu/+source/git-annex/+bug/2003918
cryfs (0.10.2-5 to 0.11.3-5)
On `s390x`, one of the tests failed with `Tried to get right side of an either which is left.`
The `Either` structure uses a single bit to indicate whether the contained type is the "left"
or "right" type. Since `s390x` is a big-endian machine, the software probably did not account for
the endianness issue.
libs3 (2.0-3.1 to 2.0-4)
The package failed to compile on `ppc64el` because of the stricter array boundary checks.
php-doctrine-dbal (3.5.3+dfsg-1 to 3.6.0+dfsg-1)
In the PHP versions higher than 5.x, a new logging facility called PSR-7 replaces the
older methods of printing the debug information straight to the HTML pages (it was meant for CGI purposes).
This package is missing this PSR-7 logging facility as the dependency.
sccache (0.4.0~~pre6-1 to 0.4.0~~pre7-1)
The package failed to compile on `armhf` due to an out-of-memory situation. Retry did not help.
The angle of attack would be turning off LTO and/or increasing the `codegen-unit` parameter in the `[profile.release]`
section of the `Cargo.toml` file.
Rust compiler is memory hungry when LTO is turned on because all the translation units need to be
read into the memory for the Whole Program Analysis (WPA) or the Inter-Procedural Optimization (IPO) passes.
toybox (0.8.8+dfsg-2 to 0.8.9+dfsg-1)
This package lacks several dependencies, including `libssl-dev`, `zlib1g-dev`. After adding those dependencies,
more dependencies are found to be missing. Not quite sure how Debian managed to get this to compile.
beaker (1.11.0-3 to 1.12.1-1)
During the test initialization phase, it was found that the test Redis instance was not running. All the tests
that need the Redis instance failed.
ruby-celluloid (0.16.0-5 to 0.18.0-2)
The new version explicitly declared a dependency break: `ruby-celluloid-io (<< 0.17.3-2~)` and `ruby-eye (<< 0.10.0-1~)`.
These newer versions required were not synced into Ubuntu as of writing.
thrift (0.17.0-2ubuntu1 to 0.17.0-2ubuntu2)
The test reported:
```
not ok /testapplicationexception/Properties/test - GLib-GObject-FATAL-CRITICAL: value "-1" of type 'gint' is invalid or out of range for property 'type' of type 'gint'
```
We all know that GLib's error reporting is less than ideal, but it's confusing in this case.
My intuition tells me that the `PROPERTY` declaration for this `gint` probably limited the possible value to $>0$
(so why not use `guint` with an "out" variable for error reporting?).
rust-ahash (0.7.6-6 to 0.8.3-2)
Some of the tests caused an arithmetic overflow assertion.
It probably needs to backport a patch from the newer upstream version.
ruby-foreman (0.85.0-2 to 0.87.2-1)
The build failed with `No entry for terminal type "unknown"`.
This package probably needs a proper `$TERM` environment variable to be set.
simde (0.7.2-6 to 0.7.4~rc2-2)
On `ppc64el`, many tests failed with unexpected results.
Many people believe PowerPC SIMD instructions are hard to learn for humans. I disagree because it's also hard for compilers.
SIMDe tries to bridge that gap by allowing you to write vectorized code once and use it for every CPU architecture.
But that turns out to be quite ambitious. Upstream needs to be informed of these test errors; they indicate translation errors in the target SIMD code.
maxima (5.45.1-8 to 5.46.0-11)
Another `ppc64el` exclusive issue, the GNU Lisp interpreter throws `Segmentation Fault` in this case.
black (22.12.0-1 to 23.1.0-1) → diffoscope/234
This package now contains a linter error (tuple unpacking) thanks to the rule change in the newer version of `black`.
This has been fixed in the newer version of `diffoscope`, but please see the next issue.
diffoscope/240
On `armhf`, there are unexpected results from the tests. It looked like `aapt` was returning different data on `armhf`.
This may need some bug reports thrown to the upstream's bug tracker.
dcfldd (1.7.1-1 to 1.9-1)
Yet another `ppc64el` exclusive problem: the test failed to validate copied files (?!)
Also, the tests are not flaky because this error pops up every single #strike[time] retry.
Either my luck was so bad, or the cosmic rays were powerful during the tests.
intelrdfpmath (2.0u2-6 to 2.0u2-8)
GCC detected there is a format string overflow.
Another issue that needs the project upstream's attention.
(Also, try to convince them that you can indeed install GCC 13 without breaking your system)
php-dompdf (0.6.2+dfsg-4 to 2.0.3+dfsg-1)
The dependency package `php-dompdf-svg-lib` was not synced into Ubuntu.
ruby-jekyll-remote-theme (0.4.3-2 to 0.4.3-3)
The tests in this package need network access (connects to GitHub).
The sole purpose of this package is to load Jekyll themes from a remote source.
libretro-bsnes-mercury (094+git20160126-3build1 to 094+git20220807-6)
GCC error: `function not considered to inline`. This usually indicates the
function declaration requires the function to be inlined, while GCC determined at
the call site that it could not be done.
The usual cause for this is the function may contain some compiler intrinsics requiring
a higher CPU baseline than specified, or GCC had a seizure (internal error).
wine-development (7.20~repack-1 to 7.22~repack-2) → dxvk/2.1-1
The test log indicates the X server was shut down prematurely in tests.
It might be because `vulkan` is too old on `arm64`.
giara (0.3-3 to 1.0.1-2)
`s390x` support removed in 1.0.1-2 (from Debian)
depthcharge-tools-installer (- to 2)
No files were installed during the build (What happened?)
libtgowt (0~git20220508.10d5f4b+dfsg-1build1 to 0~git20230105.5098730+dfsg-1)
This package needs the `riscv64` architecture definition added in `src/build/build_config.h`.
Although I doubt you can use Telegram Desktop on any affordable RISC-V board since
you might have a better chance of trying to throw a beer bottle into a trashcan located 100 meters away.
byte-buddy (1.11.4-1 to 1.12.21-1)
This package needs a newer version of `libbyte-buddy-java (>= 1.12.22)` to be synchronized into Ubuntu.
pywebdav (0.9.14-1 to 0.10.0-1)
The API changed in one of the libraries it uses: `'dict_keys' object has no attribute 'index'`.
python-libtmux (0.15.10-1 to 0.21.0-1)
tmuxp (1.18.2-1 to 1.27.0-1)
One of the tests can't be run under root (?): `assert 'See "man sudo_rootfor details.' == 'SESSION'`.
r-cran-dplyr (1.0.10-1 to 1.1.0-1) → r-cran-dtplyr/1.2.2-1
The API changed in `r-cran-dplyr` where `slice_head(..)` now needs to explicitly pass the named argument `n`.
The offending invocation could be changed to `slice_head(dt, n=5)`.
ruby-moneta (1.0.0-9 to 1.5.2-1)
The `gem` (library) requirement: 'moneta' (~> 1.0.0) is unsatisfied. We have `moneta=1.5.2` at home.
tinyssh (20190101-1ubuntu1 to 20230101-1)
The directory is world-writable by group or others: /home/ubuntu/.ssh/, which causes the sanity check to fail.
We probably want to `chmod` the directory before the test.
ruby-influxdb (0.8.1-1 to 0.8.1-2)
The tests have a mocking issue: `Cannot proxy frozen objects`.
`rspec-mocks` relies on proxies for method stubbing and expectations.
php-msgpack (2.2.0~rc1+2.1.2+0.5.7-6 to 1:2.2.0~rc2-3)
The tests failed with `PHP_DEFAULT_VERSION can't be empty` (test interface breakage: tests harness set `PHP_DEFAULT_VERSION_DEFAULT` instead).
camv-rnd (1.1.0-3 to 1.1.1-1)
pcb-rnd (3.0.6-1 to 3.1.0-1)
This batch is missing a dependency: `librnd4`.
iceoryx (2.0.2+dfsg-1 to 2.0.3+dfsg-1)
One of the tests assumes the pointer width is 64 bits, which is not good on `armhf`.
mps-youtube (0.2.8-1 to 2.9.4-1)
The test environment does not have `pip3` installed, which this package requires.
== Ending
If you made it this far, thank you! And happy beta testing 23.04!
Thanks,
Zixing
I was on +1 maintenance on the week of 2023-04-03.
You can find the previous +1 maintenance report (by Steve Langasek) here: https://lists.ubuntu.com/archives/ubuntu-devel/2023-March/042534.html
You can find a PDF version of this report in the attachment.
== Summary
This was the first time I was doing the +1 maintenance, I was not very familiar with some of the procedures.
Thanks to everyone who helped me (including but not limited to, Brian Murray, Daniel Bungert, Steve Langasek, and Vladimir Petko)
with my +1 maintenance week!
We had less than 20 packages over 100 days old as the week started.
During my +1 maintenance week:
Seen/Investigated/Fixed Submitted: 75 / 41 / 7
== Details
=== Confirmed Fixes and Won't Fixes from the Previous Week
- `logol` from the previous +1 maintenance (by Steve) is now confirmed to be fixed by Debian.
- The *won't fix* statuses for `rust-document-features`, `wtforms-alchemy`, `wtforms-json`, `ruby-rackup`, and `ruby-rack-session` are retained due to the situation still holds (won't sync in LL).
=== Fix Submitted
rust-zram-generator (0.3.2-1 to 1.1.2-2)
This is a rustc/LLVM bug where if fat LTO is enabled, LLVM's DI (`DebugInfo`) will be emitted incorrectly.
You can find the upstream bug report (unfixed as of writing) here: https://github.com/rust-lang/rust/pull/89041
The fix was using the ThinLTO to achieve a similar effect without triggering the debug information generation issue.
sqlalchemy (1.4.31+ds1-1build2 to 1.4.46+ds1-1build1)
python-databases (0.6.1-1 to 0.7.0-1)
sqlmodel (0.0.6-1 to 0.0.8-4) → ormar/0.12.0-3
These packages were blocked by a migration dependency cycle introduced by `ormar`.
Due to an API change in `sqlalchemy`, the library `python-databases`, which is used by `ormar` had an issue unpacking a tuple
returned by the `sqlalchemy` backend.
However, this issue was fixed in the `python-databases` (version `0.7.0`) residing in the `proposed` repository,
which was being blocked by `sqlalchemy`, which was in turn blocked by `ormar`:
ormar/0.12.0-3 → python-databases/0.7.0 → sqlalchemy/1.4.46+ds1-1build1 → ormar/0.12.0-3
ruby-rspec (3.10.0c1e1m2s3-2 to 3.12.0c0e1m1s0-1) → jruby/9.3.9.0+ds-8 (s390x)
The `autopkgtest` of `jruby/9.3.9.0+ds-8` on `s390x` was failed due to an out-of-memory (OOM) situation.
The test succeeded after one retry, which indicates the test may be flaky.
rust-criterion (0.3.6-3 to 0.4.0-2)
Due to the `rustc` version discrepancy between Ubuntu and Debian, `rust-criterion` failed to compile in Ubuntu.
I have backported an upstream patch to `rust-criterion/0.4.0-2`, which fixed the compiler error by covering all
the possible enumeration variants (missing `match` cases in Rust is an error).
You can find the fix I proposed at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/rust-criterion/+git/rust-criterion/+merge/440546
hg-git (0.10.4-5 to 1.0.1-1)
The UI test failed with one mismatched output of `remote: found 0 deltas to reuse` due to the test corpus
did not account for an updated version of Git.
The fix was simply to add this line to the expected output corpus.
You can find the fix I proposed at
https://code.launchpad.net/~liushuyu-011/ubuntu/+source/hg-git/+git/hg-git/+merge/440545
=== Investigated but Not Fixed
cataclysm-dda (0.F-3-5 to 0.F-3-9)
We are using GCC 13, which introduced a stricter array out-of-bound (OOB) access check.
This game used `-Werror` in the `CFLAGS`, which failed to compile due to the stricter check.
xrstools (- to 0.15.0+git20210910+c147919d-3build2)
`setuptools` emitted the error: `Multiple top-level packages discovered in a flat-layout`.
This was accepted behaviour in older `setuptools`, but it is no longer the case here.
python-cython-blis (0.7.6-1build1 to 0.9.1-1build1)
On `ppc64le` CPU, the test did not pass due to a precision error caused by some math calculations.
This indicates that the C extension in this software likely did not account for the FPU differences
between CPU architectures.
git-annex (8.20210223-2ubuntu2 to 8.20210223-2ubuntu3)
This Haskell package failed to sync with Debian upstream due to Ubuntu deltas.
Please see this sync bug for more information: https://bugs.launchpad.net/ubuntu/+source/git-annex/+bug/2003918
cryfs (0.10.2-5 to 0.11.3-5)
On `s390x`, one of the tests failed with `Tried to get right side of an either which is left.`
The `Either` structure uses a single bit to indicate whether the contained type is the "left"
or "right" type. Since `s390x` is a big-endian machine, the software probably did not account for
the endianness issue.
libs3 (2.0-3.1 to 2.0-4)
The package failed to compile on `ppc64el` because of the stricter array boundary checks.
php-doctrine-dbal (3.5.3+dfsg-1 to 3.6.0+dfsg-1)
In the PHP versions higher than 5.x, a new logging facility called PSR-7 replaces the
older methods of printing the debug information straight to the HTML pages (it was meant for CGI purposes).
This package is missing this PSR-7 logging facility as the dependency.
sccache (0.4.0~~pre6-1 to 0.4.0~~pre7-1)
The package failed to compile on `armhf` due to an out-of-memory situation. Retry did not help.
The angle of attack would be turning off LTO and/or increasing the `codegen-unit` parameter in the `[profile.release]`
section of the `Cargo.toml` file.
Rust compiler is memory hungry when LTO is turned on because all the translation units need to be
read into the memory for the Whole Program Analysis (WPA) or the Inter-Procedural Optimization (IPO) passes.
toybox (0.8.8+dfsg-2 to 0.8.9+dfsg-1)
This package lacks several dependencies, including `libssl-dev`, `zlib1g-dev`. After adding those dependencies,
more dependencies are found to be missing. Not quite sure how Debian managed to get this to compile.
beaker (1.11.0-3 to 1.12.1-1)
During the test initialization phase, it was found that the test Redis instance was not running. All the tests
that need the Redis instance failed.
ruby-celluloid (0.16.0-5 to 0.18.0-2)
The new version explicitly declared a dependency break: `ruby-celluloid-io (<< 0.17.3-2~)` and `ruby-eye (<< 0.10.0-1~)`.
These newer versions required were not synced into Ubuntu as of writing.
thrift (0.17.0-2ubuntu1 to 0.17.0-2ubuntu2)
The test reported:
```
not ok /testapplicationexception/Properties/test - GLib-GObject-FATAL-CRITICAL: value "-1" of type 'gint' is invalid or out of range for property 'type' of type 'gint'
```
We all know that GLib's error reporting is less than ideal, but it's confusing in this case.
My intuition tells me that the `PROPERTY` declaration for this `gint` probably limited the possible value to $>0$
(so why not use `guint` with an "out" variable for error reporting?).
rust-ahash (0.7.6-6 to 0.8.3-2)
Some of the tests caused an arithmetic overflow assertion.
It probably needs to backport a patch from the newer upstream version.
ruby-foreman (0.85.0-2 to 0.87.2-1)
The build failed with `No entry for terminal type "unknown"`.
This package probably needs a proper `$TERM` environment variable to be set.
simde (0.7.2-6 to 0.7.4~rc2-2)
On `ppc64el`, many tests failed with unexpected results.
Many people believe PowerPC SIMD instructions are hard to learn for humans. I disagree because it's also hard for compilers.
SIMDe tries to bridge that gap by allowing you to write vectorized code once and use it for every CPU architecture.
But that turns out to be quite ambitious. Upstream needs to be informed of these test errors; they indicate translation errors in the target SIMD code.
maxima (5.45.1-8 to 5.46.0-11)
Another `ppc64el` exclusive issue, the GNU Lisp interpreter throws `Segmentation Fault` in this case.
black (22.12.0-1 to 23.1.0-1) → diffoscope/234
This package now contains a linter error (tuple unpacking) thanks to the rule change in the newer version of `black`.
This has been fixed in the newer version of `diffoscope`, but please see the next issue.
diffoscope/240
On `armhf`, there are unexpected results from the tests. It looked like `aapt` was returning different data on `armhf`.
This may need some bug reports thrown to the upstream's bug tracker.
dcfldd (1.7.1-1 to 1.9-1)
Yet another `ppc64el` exclusive problem: the test failed to validate copied files (?!)
Also, the tests are not flaky because this error pops up every single #strike[time] retry.
Either my luck was so bad, or the cosmic rays were powerful during the tests.
intelrdfpmath (2.0u2-6 to 2.0u2-8)
GCC detected there is a format string overflow.
Another issue that needs the project upstream's attention.
(Also, try to convince them that you can indeed install GCC 13 without breaking your system)
php-dompdf (0.6.2+dfsg-4 to 2.0.3+dfsg-1)
The dependency package `php-dompdf-svg-lib` was not synced into Ubuntu.
ruby-jekyll-remote-theme (0.4.3-2 to 0.4.3-3)
The tests in this package need network access (connects to GitHub).
The sole purpose of this package is to load Jekyll themes from a remote source.
libretro-bsnes-mercury (094+git20160126-3build1 to 094+git20220807-6)
GCC error: `function not considered to inline`. This usually indicates the
function declaration requires the function to be inlined, while GCC determined at
the call site that it could not be done.
The usual cause for this is the function may contain some compiler intrinsics requiring
a higher CPU baseline than specified, or GCC had a seizure (internal error).
wine-development (7.20~repack-1 to 7.22~repack-2) → dxvk/2.1-1
The test log indicates the X server was shut down prematurely in tests.
It might be because `vulkan` is too old on `arm64`.
giara (0.3-3 to 1.0.1-2)
`s390x` support removed in 1.0.1-2 (from Debian)
depthcharge-tools-installer (- to 2)
No files were installed during the build (What happened?)
libtgowt (0~git20220508.10d5f4b+dfsg-1build1 to 0~git20230105.5098730+dfsg-1)
This package needs the `riscv64` architecture definition added in `src/build/build_config.h`.
Although I doubt you can use Telegram Desktop on any affordable RISC-V board since
you might have a better chance of trying to throw a beer bottle into a trashcan located 100 meters away.
byte-buddy (1.11.4-1 to 1.12.21-1)
This package needs a newer version of `libbyte-buddy-java (>= 1.12.22)` to be synchronized into Ubuntu.
pywebdav (0.9.14-1 to 0.10.0-1)
The API changed in one of the libraries it uses: `'dict_keys' object has no attribute 'index'`.
python-libtmux (0.15.10-1 to 0.21.0-1)
tmuxp (1.18.2-1 to 1.27.0-1)
One of the tests can't be run under root (?): `assert 'See "man sudo_rootfor details.' == 'SESSION'`.
r-cran-dplyr (1.0.10-1 to 1.1.0-1) → r-cran-dtplyr/1.2.2-1
The API changed in `r-cran-dplyr` where `slice_head(..)` now needs to explicitly pass the named argument `n`.
The offending invocation could be changed to `slice_head(dt, n=5)`.
ruby-moneta (1.0.0-9 to 1.5.2-1)
The `gem` (library) requirement: 'moneta' (~> 1.0.0) is unsatisfied. We have `moneta=1.5.2` at home.
tinyssh (20190101-1ubuntu1 to 20230101-1)
The directory is world-writable by group or others: /home/ubuntu/.ssh/, which causes the sanity check to fail.
We probably want to `chmod` the directory before the test.
ruby-influxdb (0.8.1-1 to 0.8.1-2)
The tests have a mocking issue: `Cannot proxy frozen objects`.
`rspec-mocks` relies on proxies for method stubbing and expectations.
php-msgpack (2.2.0~rc1+2.1.2+0.5.7-6 to 1:2.2.0~rc2-3)
The tests failed with `PHP_DEFAULT_VERSION can't be empty` (test interface breakage: tests harness set `PHP_DEFAULT_VERSION_DEFAULT` instead).
camv-rnd (1.1.0-3 to 1.1.1-1)
pcb-rnd (3.0.6-1 to 3.1.0-1)
This batch is missing a dependency: `librnd4`.
iceoryx (2.0.2+dfsg-1 to 2.0.3+dfsg-1)
One of the tests assumes the pointer width is 64 bits, which is not good on `armhf`.
mps-youtube (0.2.8-1 to 2.9.4-1)
The test environment does not have `pip3` installed, which this package requires.
== Ending
If you made it this far, thank you! And happy beta testing 23.04!
Thanks,
Zixing