 
            As part of my moves to resolve the cmake issue and testing 20.04 for new boxes for OP25 and other stuff.. ...
Probably a bad idea to try to tackle both at once, but hey may as well go big!
Well... there are some issues...
*buntu and/or python are killing Python 2.7. While its in the repos now.. the info I am being advised it likely won't be in the release ...
Neither of the python packages seem to be setting up the proper ENV vars, symlinks etc... but thats another issue...
BUT
GNURadio in the repo is setup for Python 3.7..so when its installed all the GNUR radio stuff is in the python3.7/ path, not 2.7/
For OP25-boatbod is this Python 3.7 compatible??????
If not, I am guessing theres going to be a problem as it likely won't run on 20.04 releases if the 2.7 packages are really removed.. and ONE is missing already (but its still early), python-waitress (the actual program DEB Is missing, but the doc DEB is there?? (Again we are still alpha early)), I can fix it and bring in the Eoan/19.10 one with a little hackery...
I can get things to compile but I don't think its complete in the least.. and then attempting to run rx.py get the unable to import gnuradio.. as its not in 2.7 and some ENV var issues too... I'll look at the EVN vars to make it point to 2.7 properly like <20.04 but I am not sure thats going to fly as its all in 3.7 paths... see:
:/usr/bin$ python3 Python 3.8.2rc1 (default, Feb 12 2020, 00:06:56) [GCC 9.2.1 20200203] on linux Type "help", "copyright", "credits" or "license" for more information.
import gnuradio quit();
versus: :/usr/bin$ python Python 2.7.17 (default, Jan 21 2020, 23:28:51) [GCC 9.2.1 20200117] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import gnuradio
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named gnuradio
So this is a heads up that theres likely to be a lot more noise about op25-boatbod not installing/compiling etc...or at least possibly have to go to 19.10 via LXC container..
I'll keep you advised if I can make any progress... the cmake issue is resolved but it means going back to 3.10.. I couldn't get 3.12.x to work at all. cmake was pulled from source and compiled.
 
            Quoting op25@zellners.com:
For OP25-boatbod is this Python 3.7 compatible??????
After doing an apt-get install for python3-waitress
Then rerun rx.py
It fails on the import for httplib
And from what I see from 2.7 to 3.x httplib is now http.client so all the calls for that are now changed....
So I am going to guess that any further attempts to add in the python3 packages needed will still fail to get OP25-boatbod to run till this any other ABI changes are made...
trace for FYI: r/apps$ ./rx.py --args 'rtl' -N 'LNA:47' -S 2400000 -f 857.2625e6 -o 25000 -q -2 File "./rx.py", line 118 print "osmosdr source_c creation failure" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("osmosdr source_c creation failure")? Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/waitress/compat.py", line 119, in <module> import httplib ModuleNotFoundError: No module named 'httplib'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> from apport.report import Report File "/usr/lib/python3/dist-packages/apport/report.py", line 21, in <module> from urllib.request import urlopen File "/usr/lib/python3.8/urllib/request.py", line 88, in <module> import http.client File "/home/lauren/op25/op25/gr-op25_repeater/apps/http.py", line 31, in <module> from waitress.server import create_server File "/usr/lib/python3/dist-packages/waitress/__init__.py", line 1, in <module> from waitress.server import create_server File "/usr/lib/python3/dist-packages/waitress/server.py", line 20, in <module> from waitress import trigger File "/usr/lib/python3/dist-packages/waitress/trigger.py", line 20, in <module> from . import wasyncore File "/usr/lib/python3/dist-packages/waitress/wasyncore.py", line 54, in <module> from . import compat File "/usr/lib/python3/dist-packages/waitress/compat.py", line 121, in <module> from http import client as httplib ImportError: cannot import name 'client' from partially initialized module 'http' (most likely due to a circular import) (/home/lauren/op25/op25/gr-op25_repeater/apps/http.py)
Original exception was: File "./rx.py", line 118 print "osmosdr source_c creation failure" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("osmosdr source_c creation failure")?
 
            I'm traveling at the moment and can't fully respond, but I will say up front that op25 is fundamentally not python3 compatible. Lots of rework will be required... :(
Graham
On Fri, Feb 14, 2020, 10:10 PM op25@zellners.com wrote:
As part of my moves to resolve the cmake issue and testing 20.04 for new boxes for OP25 and other stuff.. ...
Probably a bad idea to try to tackle both at once, but hey may as well go big!
Well... there are some issues...
*buntu and/or python are killing Python 2.7. While its in the repos now.. the info I am being advised it likely won't be in the release ...
Neither of the python packages seem to be setting up the proper ENV vars, symlinks etc... but thats another issue...
BUT
GNURadio in the repo is setup for Python 3.7..so when its installed all the GNUR radio stuff is in the python3.7/ path, not 2.7/
For OP25-boatbod is this Python 3.7 compatible??????
If not, I am guessing theres going to be a problem as it likely won't run on 20.04 releases if the 2.7 packages are really removed.. and ONE is missing already (but its still early), python-waitress (the actual program DEB Is missing, but the doc DEB is there?? (Again we are still alpha early)), I can fix it and bring in the Eoan/19.10 one with a little hackery...
I can get things to compile but I don't think its complete in the least.. and then attempting to run rx.py get the unable to import gnuradio.. as its not in 2.7 and some ENV var issues too... I'll look at the EVN vars to make it point to 2.7 properly like <20.04 but I am not sure thats going to fly as its all in 3.7 paths... see:
:/usr/bin$ python3 Python 3.8.2rc1 (default, Feb 12 2020, 00:06:56) [GCC 9.2.1 20200203] on linux Type "help", "copyright", "credits" or "license" for more information.
import gnuradio quit();
versus: :/usr/bin$ python Python 2.7.17 (default, Jan 21 2020, 23:28:51) [GCC 9.2.1 20200117] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import gnuradio
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named gnuradio
So this is a heads up that theres likely to be a lot more noise about op25-boatbod not installing/compiling etc...or at least possibly have to go to 19.10 via LXC container..
I'll keep you advised if I can make any progress... the cmake issue is resolved but it means going back to 3.10.. I couldn't get 3.12.x to work at all. cmake was pulled from source and compiled.
 
            Quoting Graham Norbury gnorbury@bondcar.com:
I'm traveling at the moment and can't fully respond, but I will say up front that op25 is fundamentally not python3 compatible. Lots of rework will be required... :(
Thats what I figured... and thats why my own Python stuff is not compatible with 3.x...I'd really like to find these people who feel the need to change stuff that breaks things and flog them.
I am none to happy with things moving in this direction be GNUR or just in general.. I'd honestly like to see python3 rm -r *'d from the planet and just improve 2.x WITHOUT BREAKING THE ABI! Buttttt nooooo! We can't be that sensible.
Not exactly sure what my plan is on my little programs as they are mission critical for me/work..Move to some 18.04 VM's/LXC's and possibly sit tight there.. I am not a fan of change. :) :) ;)
There is a 2to3 script thing I will run that on things to see where it flags stuff, it might at least be a good reference point to start from...
I am working on an updated install.sh for 18.10-19.10 where cmake fubars up things...and it will flag 20.04 as incompatible and stop till advised. I'll get that to as soon as I work it all out to my sanctification.
 
            To provide a little bit of hope:
I recently when through updating TwoToneDetect from Python 2.7 to 3.X. I had been putting it off for a long time and was dreading it, but in the end it didn't end up being as bad as I had feared. I used 2to3 as a starting point and that took care of easy stuff like print statements, and then after that just started tackling the error messages one at a time...after a few of those...all of a sudden it worked. What I had anticipated taking weeks ended up only taking a few hours. OP25 is certainly more complex and will likely take more effort, but hopefully it'll be a similar experience.
Andy
On Sat, Feb 15, 2020 at 10:29 PM op25@zellners.com wrote:
Quoting Graham Norbury gnorbury@bondcar.com:
I'm traveling at the moment and can't fully respond, but I will say up front that op25 is fundamentally not python3 compatible. Lots of rework will be required... :(
Thats what I figured... and thats why my own Python stuff is not compatible with 3.x...I'd really like to find these people who feel the need to change stuff that breaks things and flog them.
I am none to happy with things moving in this direction be GNUR or just in general.. I'd honestly like to see python3 rm -r *'d from the planet and just improve 2.x WITHOUT BREAKING THE ABI! Buttttt nooooo! We can't be that sensible.
Not exactly sure what my plan is on my little programs as they are mission critical for me/work..Move to some 18.04 VM's/LXC's and possibly sit tight there.. I am not a fan of change. :) :) ;)
There is a 2to3 script thing I will run that on things to see where it flags stuff, it might at least be a good reference point to start from...
I am working on an updated install.sh for 18.10-19.10 where cmake fubars up things...and it will flag 20.04 as incompatible and stop till advised. I'll get that to as soon as I work it all out to my sanctification.
 
            Sorry for the delay in responding. Just wanted to check in and note that the osmocom OP25 repo now has a patch for building OP25 with python3/gnuradio3.8. Additionally, the principal python apps (rx.py, multi_rx.py et al). have been rewritten to run under either python 2 or 3. So far after clearing away several nitpicks related to python3 everything appears to be solid. Also it should be noted that the 'max' branch of the osmocom OP25 repo has been deprecated and is slated to be deleted at some point. Going forward all new commits will be made directly to the 'master' branch - this also includes the gr3.8 patch. Please report any problems esp. with but not limited to these modifications... Max
On Sunday, February 16, 2020, 10:11:30 PM EST, Andy Knitt andyknitt@gmail.com wrote:
To provide a little bit of hope: I recently when through updating TwoToneDetect from Python 2.7 to 3.X. I had been putting it off for a long time and was dreading it, but in the end it didn't end up being as bad as I had feared. I used 2to3 as a starting point and that took care of easy stuff like print statements, and then after that just started tackling the error messages one at a time...after a few of those...all of a sudden it worked. What I had anticipated taking weeks ended up only taking a few hours. OP25 is certainly more complex and will likely take more effort, but hopefully it'll be a similar experience. Andy On Sat, Feb 15, 2020 at 10:29 PM op25@zellners.com wrote:
Quoting Graham Norbury gnorbury@bondcar.com:
I'm traveling at the moment and can't fully respond, but I will say up front that op25 is fundamentally not python3 compatible. Lots of rework will be required... :(
Thats what I figured... and thats why my own Python stuff is not compatible with 3.x...I'd really like to find these people who feel the need to change stuff that breaks things and flog them.
I am none to happy with things moving in this direction be GNUR or just in general.. I'd honestly like to see python3 rm -r *'d from the planet and just improve 2.x WITHOUT BREAKING THE ABI! Buttttt nooooo! We can't be that sensible.
Not exactly sure what my plan is on my little programs as they are mission critical for me/work..Move to some 18.04 VM's/LXC's and possibly sit tight there.. I am not a fan of change. :) :) ;)
There is a 2to3 script thing I will run that on things to see where it flags stuff, it might at least be a good reference point to start from...
I am working on an updated install.sh for 18.10-19.10 where cmake fubars up things...and it will flag 20.04 as incompatible and stop till advised. I'll get that to as soon as I work it all out to my sanctification.



