flightaware / piaware_builder

Debian package builder for piaware
60 stars 24 forks source link

Python 3.5 compatibility of cx_freeze #3

Closed Steltek closed 8 years ago

Steltek commented 8 years ago

Any way you could include this patch in the building to make cx_freeze compatible with Python 3,5?

https://bitbucket.org/anthony_tuininga/cx_freeze/pull-requests/83/python-35-compatibility-for-cx_freeze-4x/diff

Without this, you get this error: ImportError: No module named '_frozen_importlib_external'

mutability commented 8 years ago

What is your target build environment?

Steltek commented 8 years ago

I got the error on a Debian testing (stretch) box. (Python 3.5.1+ (default, Jan 13 2016, 15:09:18))

Applying the diff to piaware_builder/package/cx_Freeze-4.3.4/cx_Freeze/finder.py fixed it.

mutability commented 8 years ago

It might make sense to do this as another distribution suite that sensible-build.sh knows about, as I wouldn't be surprised if there are other things that are specifc to stretch. If you want to send a pull request along those lines I can merge it (I don't have an environment to test stretch myself)

mutability commented 8 years ago

I updated sensible-build to use a more recent snapshot of cxfreeze (there is no new release yet), can you check if that fixes it? It fixes it for me on ubuntu xenial, at least, which has 3.5.2

Steltek commented 8 years ago

Still getting this:

Aug 17 17:39:40 shodan piaware[10543]: Starting multilateration client: /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type dump1090 --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 70.42.6.191:6028:1673601892 Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): Traceback (most recent call last): Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): File "/usr/lib/python3.5/importlib/_bootstrap.py", line 1140, in _install Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): import _frozen_importlib_external Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): File "/usr/lib/python3.5/importlib/_bootstrap.py", line 969, in _find_and_load Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): return _find_and_loadunlocked(name, import) Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): File "/usr/lib/python3.5/importlib/_bootstrap.py", line 956, in _find_and_load_unlocked Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): raise ImportError(_ERR_MSG.format(name), name=name) Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): ImportError: No module named '_frozen_importlib_external' Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): Fatal Python error: Py_Initialize: importlib install failed Aug 17 17:39:40 shodan piaware[10543]: mlat-client(10604): Current thread 0x00007f6f3a8d5700 (most recent call first):

mutability commented 8 years ago

ah, sorry, did you build from the dev branch? Forgot to mention that

mutability commented 8 years ago

I had to revert this as it broke the Raspbian build; the development version is still not ready for real use by the looks of it.

mutability commented 8 years ago

I guess we are stuck with 4.3.4 for now, so I'll apply the patch you originally suggested