linuxmint / linuxmint/warpinator

v1.2.14 on Linux Mint 21 refuses to launch; likely a dependency conflict

Open
#145 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.6k
Forks
115
PR merge metrics
No merged PRs in 30d

Description

TL;DR: Warpinator v1.2.14 works great on Linux Mint 21 until I install Meshtastic CLI from pip. I wasn't sure about where to open this Issue and I started here.

  • OS: Linux Mint 21, almost clean install except:
~# apt install python3-pip
~$ pip3 install -U pip
( then add "$HOME/.local/bin" to $PATH )
  • Warpinator: installed with apt:
~# apt install warpinator
...........
~$ dpkg --list | fgrep -i warpinator
ii  warpinator                                    1.2.14+vanessa                             all          Allows simple local network file sharing.

Under these conditions Warpinator works fine.

Warpinator refuses to start after I install Meshtastic CLI (github). Installation log:

~$ pip install -U meshtastic
pip install -U meshtastic
Defaulting to user installation because normal site-packages is not writeable
Collecting meshtastic
  Using cached meshtastic-1.3.37-py3-none-any.whl (76 kB)
Collecting pyqrcode>=1.2.1
  Using cached PyQRCode-1.2.1-py3-none-any.whl
Collecting timeago>=1.0.15
  Using cached timeago-1.0.16-py3-none-any.whl (29 kB)
Collecting tabulate>=0.8.9
  Using cached tabulate-0.8.10-py3-none-any.whl (29 kB)
Collecting pygatt>=4.0.5
  Using cached pygatt-4.0.5-py3-none-any.whl
Collecting protobuf>=3.13.0
  Using cached protobuf-4.21.7-cp37-abi3-manylinux2014_x86_64.whl (408 kB)
Collecting pyserial>=3.4
  Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from meshtastic) (5.4.1)
Collecting pypubsub>=4.0.3
  Using cached Pypubsub-4.0.3-py3-none-any.whl (61 kB)
Requirement already satisfied: pexpect>=4.6.0 in /usr/lib/python3/dist-packages (from meshtastic) (4.8.0)
Collecting dotmap>=1.3.14
  Using cached dotmap-1.3.30-py3-none-any.whl (11 kB)
Collecting enum-compat
  Using cached enum_compat-0.0.3-py3-none-any.whl (1.3 kB)
Installing collected packages: timeago, pyserial, pyqrcode, enum-compat, dotmap, tabulate, pypubsub, pygatt, protobuf, meshtastic
Successfully installed dotmap-1.3.30 enum-compat-0.0.3 meshtastic-1.3.37 protobuf-4.21.7 pygatt-4.0.5 pypubsub-4.0.3 pyqrcode-1.2.1 pyserial-3.5 tabulate-0.8.10 timeago-1.0.16

Warpinator log:

~$ warpinator
Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

There seems to be some dependency compatibility issue with the protobuf package. Meshtastic CLI works fine regardless of the presence of Warpinator in my system. Warpinator in its turn refuses to start when Meshtastic CLI is installed.

Using the 2nd suggestion in the error log makes Warpinator work again. I didn't try the 1st suggestion, though.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure from the warpinator entry point on Linux Mint 21 by installing Warpinator with apt and Meshtastic with pip, then compare startup with and without the installed protobuf package. Use the reported protobuf error and the working PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION workaround to define done: Warpinator launches normally without requiring that environment override.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, python
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.