GNU bug report logs -
#53334
qbittorrent(<=4.4.0)'s search window fails with "Python is required to use the search engine but it does not seem to be installed"
Previous Next
To reply to this bug, email your comments to 53334 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Tue, 18 Jan 2022 03:01:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jacob Hrbek <kreyren <at> rixotstudio.cz>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Tue, 18 Jan 2022 03:01:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
qbittorrent <=4.4.0 (current latest version) fails with:
```
Missing Python Runtime
Python is required to use the search engine but it does not seem to be
installed
```
which is triggered from `qbittorrent/src/gui/mainwindow.cpp`:
```cpp
/*https://github.com/qbittorrent/qBittorrent/blob/00f6bb7c8225285a7929426187a1513d247b582b/src/gui/mainwindow.cpp#L1847 */
void MainWindow::on_actionSearchWidget_triggered()
{
if (!m_hasPython && m_ui->actionSearchWidget->isChecked())
{
const Utils::ForeignApps::PythonInfo pyInfo = Utils::ForeignApps::pythonInfo();
// Not installed
if (!pyInfo.isValid())
{
m_ui->actionSearchWidget->setChecked(false);
Preferences::instance()->setSearchEnabled(false);
#ifdef Q_OS_WIN
const QMessageBox::StandardButton buttonPressed = QMessageBox::question(this, tr("Missing Python Runtime")
, tr("Python is required to use the search eng
ine but it does not seem to be installed.\nDo you want to install it now?")
, (QMessageBox::Yes | QMessageBox::No), QMessageBox::Yes);
if (buttonPressed == QMessageBox::Yes)
installPython();
#else
QMessageBox::information(this, tr("Missing Python Runtime")
, tr("Python is required to use the search engine but it does not seem to be installed."));
#endif
return;
}
// Check version requirement
if (!pyInfo.isSupportedVersion())
{
m_ui->actionSearchWidget->setChecked(false);
Preferences::instance()->setSearchEnabled(false);
#ifdef Q_OS_WIN
const QMessageBox::StandardButton buttonPressed = QMessageBox::question(this, tr("Old Python Runtime")
, tr("Your Python version (%1) is outdated. Minimum requirement: %2.\nDo you want to install a newer version now?")
.arg(pyInfo.ve
rsion, QLatin1String("3.5.0"))
, (QMessageBox::Yes | QMessageBox::No), QMessageBox::Yes);
if (buttonPressed == QMessageBox::Yes)
installPython();
#else
QMessageBox::information(this, tr("Old Python Runtime")
, tr("Your Python version (%1) is outdated. Please upgrade to latest version for search engines to work.\nMinimum requirement: %2.")
.arg(pyInfo.version, QLatin1String("3.5.0")));
#endif
return;
}
m_hasPython = true;
m_ui->actionSearchWidget->setChecked(true);
Preferences::instance()->setSearchEnabled(true);
}
displaySearchTab(m_ui->actionSearchWidget->isChecked());
}
```
To call `Utils::ForeignApps::pythonInfo()` definition in
`qbittorrent/src/base/utils/foreignapps.cpp` as:
```cpp
/*https://github.com/qbittorrent/qBittorrent/blob/5c0378a6845e3484023f4c76893ff9f0e5178460/src/base/utils/foreignapps.c
pp#L272 */
PythonInfo Utils::ForeignApps::pythonInfo()
{
static PythonInfo pyInfo;
if (!pyInfo.isValid())
{
if (testPythonInstallation("python3", pyInfo))
return pyInfo;
if (testPythonInstallation("python", pyInfo))
return pyInfo;
#if defined(Q_OS_WIN)
if (testPythonInstallation(findPythonPath(), pyInfo))
return pyInfo;
#endif
LogMsg(QCoreApplication::translate("Utils::ForeignApps", "Python not detected"), Log::INFO);
}
return pyInfo;
}
```
Where:
```cpp
if (testPythonInstallation("python3", pyInfo)) ...
```
Is important as it's checking for a `python3` (or `python`) executable
in PATH that is not provided by guix's build procedure -> The package
has compatibility issues with GNU Guix and has to be patched.
### Steps to reproduce:
0. Get qbittorrent on GNU Guix
1. Open the GUI: View > Search engine and observe the highlighted error
pre
venting to use the search engine functionality
Relevants:
R1. https://github.com/qbittorrent/qBittorrent/issues/16139
--
Jacob Hrbek
[Message part 2 (text/html, inline)]
[publickey - kreyren@rixotstudio.cz - 1677db82.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Tue, 18 Jan 2022 03:03:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 53334 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Assigned myself to address the issue
On 1/18/22 04:01, help-debbugs <at> gnu.org wrote:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> bug-guix <at> gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 53334 <at> debbugs.gnu.org.
>
> Please do not send mail to help-debbugs <at> gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 53334: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=53334
> GNU Bug Tracking System
> Contact help-debbugs <at> gnu.org with problems
--
Jacob Hrbek
[publickey - kreyren@rixotstudio.cz - 1677db82.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Tue, 18 Jan 2022 03:18:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 53334 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Fixes: https://issues.guix.gnu.org/53334
Signed-off-by: Jacob Hrbek <kreyren <at> rixotstudio.cz>
---
gnu/packages/bittorrent.scm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index fa88c91163..f222b87692 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -491,6 +491,13 @@ (define-public qbittorrent
(guix build qt-utils))
#:phases
(modify-phases %standard-phases
+ ;; The package is checking for a `python` or `python3` executable in an environment variable `PATH` which causes the search engine to fail with "Missing Python Runtime" this phase substitutes the python executables with full path in the nix store executable -- https://issues.guix.gnu.org/53334
+ ;; FIXME-QA(Krey): This codeblock depends on upstream's declaration of https://github.com/qbittorrent/qBittorrent/blob/master/src/base/utils/foreignapps.cpp#L277, if the fi
le declaration changes then this phase will be malfunction -> Consider optimizing the upstream code for nix userland
+ (add-after 'unpack 'python-path-compat
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/base/utils/foreignapps.cpp"
+ (("if \\(testPythonInstallation\\(\"python3\", pyInfo\\)\\)")
+ (string-append "if (testPythonInstallation(\"" (search-input-file inputs "/bin/python") "\", pyInfo))")))))
(add-after 'install 'wrap-qt
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
--
2.34.0
[publickey - kreyren@rixotstudio.cz - 1677db82.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Tue, 18 Jan 2022 09:54:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 53334 <at> debbugs.gnu.org (full text, mbox):
i may be misunderstanding something here... but when i add python to
my user's profile, then for me search does work in vanilla
qBittorrent.
i think the entire point of this is to keep the python dependency
optional at runtime.
--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“If you have 10,000 regulations, you destroy all respect for the law.”
— Winston Churchill (1874–1965)
Information forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Wed, 19 Jan 2022 07:16:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 53334 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> i may be misunderstanding something here... but when i add python to
my user's profile, then for me search does work in vanilla qBittorrent.
> i think the entire point of this is to keep the python dependency
optional at runtime. -- Landvai
`$ guix shell qbittorrent python` works, but i think it's better to
address it this way to make sure that it works out of the box since the
dependency (afaik) is in the store either way if qbittorrent is installed.
On 1/18/22 04:01, Jacob Hrbek wrote:
> Assigned myself to address the issue
>
> On 1/18/22 04:01, help-debbugs <at> gnu.org wrote:
>> Thank you for filing a new bug report with debbugs.gnu.org.
>>
>> This is an automatically generated reply to let you know your message
>> has been received.
>>
>> Your message is being forwarded to the package maintainers and other
>> interested parties for their attention; they will reply in due course.
>>
>> Your message has been sent to the package maintainer(s):
>> bug-guix <at> gnu.org
>>
>> If you wish to submit further information on this problem, please
>> send it to 53334 <at> debbugs.gnu.org.
>>
>> Please do not send mail to help-debbugs <at> gnu.org unless you wish
>> to report a problem with the Bug-tracking system.
>>
>> --
>> 53334: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=53334
>> GNU Bug Tracking System
>> Contact help-debbugs <at> gnu.org with problems
>
--
Jacob Hrbek
[publickey - kreyren@rixotstudio.cz - 1677db82.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#53334
; Package
guix
.
(Sun, 27 Feb 2022 09:10:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 53334 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Documentation about the issue and it's workaround added in the community
wiki:
* https://guix.miraheze.org/wiki/Packages/qbittorrent
--
Jacob Hrbek, In support of ukraine sovereignty #supportUkraine
[publickey - kreyren@rixotstudio.cz - 1677db82.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
Merged 43184 53334.
Request was from
Maxime Devos <maximedevos <at> telenet.be>
to
control <at> debbugs.gnu.org
.
(Thu, 29 Sep 2022 12:31:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 264 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.