Skip to content

PiAware will not build on Ubuntu 24.04. #575

@jprochazka

Description

@jprochazka

NOTE: This issue affects any release using Python 3.12 or greater not just Nobel.

The PiAware build halts with the following error when trying to build the PiAware package.

  File "/home/joe/adsb-receiver/build/piaware_builder/package-bookworm/debian/venv/lib/python3.12/site-packages/cx_Freeze/finder.py", line 33, in <module>
    IMPORT_STAR = opcode.opmap["IMPORT_STAR"]
                  ~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'IMPORT_STAR'

It would appear that cx_Freeze does not support Paython 3.12 which is the version of Python installed on Ubuntu Noble Numbat or the Ubuntu team has not yet updated things on their end. A fix for this issue appears to be available from the cx_Freeze developers but at this time the newer release supporting Python 3.12 is not available via the Ubuntu package repositories. I have been trying to implement a fix located in the following post from the cx_Freeze issue tracker using pipx and pip in a venv with no joy.

marcelotduarte/cx_Freeze#2153

Needless to say, the workaround is getting a bit more complicated than I would like it as far as this project is concerned. I am thinking that Noble Numbat support will need to be put on hold until a more permanent and stable solution is found.

Update:

After reading a post by @abcd567a on the FlightAware forums and looking through the bash scripts he kindly offered up to the community I found that it is possible to build PiAware on Nobel but it entails ditching MLAT functionality. IMO this is still a no go and until FlightAware team finds a fix or better yet the Ubuntu team gets on top updating cx_Freeze if it is in fact at a stable stage, Nobel support is still a no go unless anyone else has any ideas.

Update Two:

PiAware's MLAT code is using the asyncore module which was deprecated in version 3.6 and announced for removal in version 3.12 at the time of its release. Until the software is updated to use asyncio which is recommended in the Python documentation or some other solution it appears PiAware with MLAT support installations on systems using Python 3.12+ will not be possible.

https://peps.python.org/pep-0594/#asyncore

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions