-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debian 12 Bookworm - bump dependencies to uptodate versions of cx_Freeze, zipp and importlib_metadata #23
Comments
output from systemctl status piaware.service: For reference, this is a contiuation of https://discussions.flightaware.com/t/debian-bookworm-kills-piaware-service-minutes-after-starting/86018 |
Do you have a PR for this? |
No, I don't have a Pull request for this. I am building piaware for arm64 platform and whilst the script builds without an error, as soon as piaware is started it complains about MLAT Client not working and refers to broken cx-Freeze as shown in systemctl output in previous comment. Others building for amd64 platform and having exactly the same issue, as referenced in the FlightAware discussion. Unfortunately, I do not have the knowlegde to provide a fix for this. |
Okay. Can you verify that building with the newer cxfreeze fixes the problem? I do not have a bookworm system to verify against. |
This is not as easy as it seems to be... zipp-3.12.0 does not have setup.py as specified in line 72 of the rules file keeping zipp-0.5.0 and importlib_metadat-4.3.1 and just using cx_Freeze-6.14.2 results in: Processing dependencies for cx-Freeze==6.14.2 but patchelf 0.14 is installed already ADSB-Receiver-test:~/piaware_builder/package-bookworm$ apt search patchelf pypi.org has patchelf 0.17.2.0 so installed this via pip as well, but still no success. But there are warnings: Finished processing dependencies for cx-Freeze==6.14.2 And after installing piaware and starting the service via systemctl it reports that the mlat-client is still not working. ● piaware.service - FlightAware ADS-B uploader Feb 04 12:47:14 ADSB-Receiver-test piaware[23673]: mlat-client(24077): module_init.run(name + "main") So something else is broken, any ideas? |
As you've discovered, getting this right is not as easy as it looks. A lot of the hoops that piaware_builder has to jump through are to do with getting cxfreeze working with the older versions of Python that Debian usually ships. Maybe bookworm is new enough that a recent cxfreeze can be installed directly with pip without needing to do the manual dependency dance. That said, given that you still get the same error, it's presumably not the cxfreeze version that's causing problems at all. I have not looked into this at all yet, but maybe you need to force cxfreeze to include |
I wouldn't blame Debian on this one, because Bookworm ships with Python 3.11 which is the latest release of Python. Which pkg_resources need to be included? pypi.org gives over 1300 hits when searched for pkg_resources, but cx_Freeze seems not to have a resource/dev package. |
Sure, so if bookworm has a recent python you probably don't need to jump through hoops to get recent packages installed there and much of the work that piaware_builder does with mangling specific versions of packages to get them to work with the older python toolchain is unnecessary. Re pkg_resources I mean tell cxfreeze to include the version that's already present in the venv, in the frozen binary, by using e.g. (The issue here is that it looks like the version of setuptools et al that bookworm has, is synthesizing a |
I've amended line 76/77 of the rules script to: build_mlat-client: And now gcc exits with a fatal error: Finished processing dependencies for importlib-metadata==4.3.1 I think this needs more work to get piaware_builder ready for Bookworm. Edit: Even with --includes=pkg_resources removed from the rules script the build fails with the above error. |
Does |
Also |
content of /usr/include/python3.11 user@ADSB-Receiver-test:~/piaware_builder/package-bullseye/debian$ ls /usr/include/python3.11 |
Ok, I've put --includes=pkg_resources in line 74 of the rules script and the build fails with: Finished processing dependencies for importlib-metadata==4.3.1 Edit: even when changed to cd cx_Freeze-6.8.3 && /home/user/piaware_builder/package-bullseye/debian/venv/bin/python setup.py install --includes=pkg_resources or cd cx_Freeze-6.8.3 && /home/user/piaware_builder/package-bullseye/debian/venv/bin/python setup.py --includes=pkg_resources install results in the above error. |
Well, 6.8.3 isn't going to work with Python 3.11 anyway? See https://cx-freeze.readthedocs.io/en/latest/versions.html Anyway, I can't really continue to remotely debug this one. If you do manage to get it working, I'll take a PR. Otherwise I think you'll need to wait until we officially look at bookworm support (which is more likely to be around the time that the Pi Foundation switches to basing their stuff on bookworm) |
I would like to draw your attention to my just opened pull request #24, in which context I am still looking for some more testers. |
I have successfully used your repo to build and install on bookworm. Thank you.
|
9.0 has bookworm support now, so I'm going to close this. |
hm, but sensible-build.sh have no bookworm option
Ah, seems it is only missing in that help message and accepting bookworm option. |
It's there, I just forgot to update the usage message, yeah |
MLAT client stopped working on Debian 12 Bookworm due to outdated cx_Freeze dependency.
This is becomming an issue soon as Debian 12 has entered Toolchain freeze on January 19th and is due for general release this year. https://lists.debian.org/debian-devel-announce/2023/01/msg00004.html
https://github.com/marcelotduarte/cx_Freeze/archive/refs/tags/6.13.1.tar.gz
c302e15bc9c488704f0b79b3896101ae6fc81b405ce489c29b15937111bc18f3
https://github.com/jaraco/zipp/archive/refs/tags/v3.11.0.tar.gz
d439d06f10385871258c29fb40839677a99b13720c2572b2673c14e73f2a550d
https://github.com/python/importlib_metadata/archive/refs/tags/v6.0.0.tar.gz
9e6fafdbf0601a5825c53a842f7bb6928c8e8eb6c46a228199ca02396cf6007a
The text was updated successfully, but these errors were encountered: