Hi Jameson,
I figured it out! First I recreated the same exact environment as you,
and I still didn't see the error. Then I realized that GNU Radio was
getting the `newmod_path` for the template from ~/.gnuradio/config.conf,
and mine was pointing to a newer installation. (That's something that
own its own needs a fix, in my view.) Once I got it pointing to the
actual GR 3.8.2 installation, then I saw the same error.
That let me track it down to essentially the same problem as
https://github.com/gnuradio/gnuradio/issues/5068, which is that the
template as installed by conda was including __pycache__ .pyc files, and
those were causing the exception. I fixed that particular issue with the
conda packaging before releasing GR 3.8.3.1. Can you use a newer version
of GR 3.8? If you just change your installation to `conda install
gnuradio=3.8`, you should get a version of modtool that works. Either
that or go to
/home/jcollins/Downloads/temp/deleteme/envs/asdf/lib/python3.9/site-packages/gnuradio/modtool/templates/
and delete the __pycache__ folder.
Cheers,
Ryan
On 8/1/22 1:14 PM, Jameson Collins wrote:
Hey Ryan,
I'm trying in a totally fresh environment on Ubuntu 20:
```
cd Downloads/
mkdir temp
cd temp
wget
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
<https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh>
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
eval "$(/home/user/Downloads/temp/deleteme/bin/conda shell.bash hook)"
conda create -n asdf
conda activate asdf
conda config --env --add channels conda-forge
conda config --env --set channel_priority strict
conda install gnuradio=3.8.2
gr_modtool newmod
```
Here is the output of `conda list`:
````
# packages in environment at
/home/jcollins/Downloads/temp/deleteme/envs/asdf:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
adwaita-icon-theme 41.0 ha770c72_1 conda-forge
alsa-lib 1.2.3.2 h166bdaf_0 conda-forge
at-spi2-atk 2.38.0 h0630a04_3 conda-forge
at-spi2-core 2.40.3 h0630a04_0 conda-forge
atk-1.0 2.36.0 h3371d22_4 conda-forge
attr 2.5.1 h166bdaf_0 conda-forge
boost-cpp 1.74.0 h6cacc03_7 conda-forge
brotlipy 0.7.0 py39hb9d737c_1004 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
ca-certificates 2022.6.15 ha878542_0 conda-forge
cairo 1.16.0 ha12eb4b_1010 conda-forge
certifi 2022.6.15 py39hf3d152e_0 conda-forge
cffi 1.15.1 py39he91dace_0 conda-forge
charset-normalizer 2.1.0 pyhd8ed1ab_0 conda-forge
click 8.1.3 py39hf3d152e_0 conda-forge
click-plugins 1.1.1 py_0 conda-forge
codec2 0.9.2 h7f98852_1 conda-forge
cryptography 37.0.4 py39hd97740a_0 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
epoxy 1.5.10 h166bdaf_1 conda-forge
expat 2.4.8 h27087fc_0 conda-forge
fftw 3.3.10 nompi_h77c792f_102 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 hab24e00_0 conda-forge
fontconfig 2.14.0 h8e229c2_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freetype 2.10.4 h0708190_1 conda-forge
fribidi 1.0.10 h36c2ea0_0 conda-forge
gdk-pixbuf 2.42.8 hff1cb4f_0 conda-forge
gettext 0.19.8.1 h73d1719_1008 conda-forge
glib 2.72.1 h6239696_0 conda-forge
glib-tools 2.72.1 h6239696_0 conda-forge
gnuradio 3.8.2.0 py39h81c97bc_8 conda-forge
gnuradio-core 3.8.2.0 py39h62466b6_8 conda-forge
gnuradio-grc 3.8.2.0 py39hc76a25d_8 conda-forge
gnuradio-qtgui 3.8.2.0 py39hbc3867e_8 conda-forge
gnuradio-uhd 3.8.2.0 py39h33996e5_8 conda-forge
gnuradio-video-sdl 3.8.2.0 py39hc76a25d_8 conda-forge
gnuradio-zeromq 3.8.2.0 py39h72561b3_8 conda-forge
graphite2 1.3.13 h58526e2_1001 conda-forge
gsl 2.6 he838d99_2 conda-forge
gst-plugins-base 1.20.2 hcf0ee16_0 conda-forge
gstreamer 1.20.3 hd4edc92_0 conda-forge
gstreamer-orc 0.4.32 h7f98852_1 conda-forge
gtk3 3.24.33 h13ada96_1 conda-forge
harfbuzz 4.2.0 h40b6f09_0 conda-forge
hicolor-icon-theme 0.17 ha770c72_2 conda-forge
icu 69.1 h9c3ff4c_0 conda-forge
idna 3.3 pyhd8ed1ab_0 conda-forge
importlib-metadata 4.11.4 py39hf3d152e_0 conda-forge
jack 1.9.18 hfd4fe87_1001 conda-forge
jpeg 9e h166bdaf_2 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.19.3 h3790be6_0 conda-forge
ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libblas 3.9.0 15_linux64_openblas conda-forge
libcap 2.64 ha37c62d_0 conda-forge
libcblas 3.9.0 15_linux64_openblas conda-forge
libclang 13.0.1 default_hc23dcda_0 conda-forge
libcups 2.3.3 hf5a7f15_1 conda-forge
libdb 6.2.32 h9c3ff4c_0 conda-forge
libdeflate 1.12 h166bdaf_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libevent 2.1.10 h9b69904_4 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libflac 1.3.4 h27087fc_0 conda-forge
libgcc-ng 12.1.0 h8d9b700_16 conda-forge
libgfortran-ng 12.1.0 h69a702a_16 conda-forge
libgfortran5 12.1.0 hdcd56e2_16 conda-forge
libgirepository 1.72.0 h26ff761_1 conda-forge
libglib 2.72.1 h2d90d5f_0 conda-forge
libgomp 12.1.0 h8d9b700_16 conda-forge
libiconv 1.16 h516909a_0 conda-forge
liblapack 3.9.0 15_linux64_openblas conda-forge
libllvm13 13.0.1 hf817b99_2 conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libogg 1.3.4 h7f98852_1 conda-forge
libopenblas 0.3.20 pthreads_h78a6416_1 conda-forge
libopus 1.3.1 h7f98852_1 conda-forge
libpng 1.6.37 h753d276_3 conda-forge
libpq 14.4 hd77ab85_0 conda-forge
librsvg 2.52.5 h0a9e6e8_3 conda-forge
libsndfile 1.0.31 h9c3ff4c_1 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libstdcxx-ng 12.1.0 ha89aaad_16 conda-forge
libtiff 4.4.0 h0d92c0b_2 conda-forge
libtool 2.4.6 h9c3ff4c_1008 conda-forge
libudev1 249 h166bdaf_4 conda-forge
libusb 1.0.26 h0b4f0b6_100 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libwebp-base 1.2.3 h166bdaf_2 conda-forge
libxcb 1.13 h7f98852_1004 conda-forge
libxkbcommon 1.0.3 he3ba5ed_0 conda-forge
libxml2 2.9.12 h885dcf4_1 conda-forge
libxslt 1.1.33 h0ef7038_3 conda-forge
libzlib 1.2.12 h166bdaf_2 conda-forge
log4cpp 1.1.3 h9c3ff4c_1003 conda-forge
lxml 4.8.0 py39hb9d737c_2 conda-forge
lz4-c 1.9.3 h9c3ff4c_1 conda-forge
mako 1.2.1 pyhd8ed1ab_0 conda-forge
markupsafe 2.1.1 py39hb9d737c_1 conda-forge
mpir 3.0.0 hf484d3e_1002 conda-forge
mysql-common 8.0.29 haf5c9bc_1 conda-forge
mysql-libs 8.0.29 h28c427c_1 conda-forge
ncurses 6.3 h27087fc_1 conda-forge
nspr 4.32 h9c3ff4c_1 conda-forge
nss 3.78 h2350873_0 conda-forge
numpy 1.23.1 py39hba7629e_0 conda-forge
openssl 1.1.1q h166bdaf_0 conda-forge
pango 1.50.7 hbd2fdc8_0 conda-forge
pcre 8.45 h9c3ff4c_0 conda-forge
pip 22.2.1 pyhd8ed1ab_0 conda-forge
pixman 0.40.0 h36c2ea0_0 conda-forge
portaudio 19.6.0 hae3ed74_4 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
pulseaudio 14.0 hbc9ff1d_7 conda-forge
pycairo 1.21.0 py39h0934665_1 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pygobject 3.42.2 py39habf54e5_0 conda-forge
pyopenssl 22.0.0 pyhd8ed1ab_0 conda-forge
pyqt 5.12.3 py39hf3d152e_8 conda-forge
pyqt-impl 5.12.3 py39hde8b62d_8 conda-forge
pyqt5-sip 4.19.18 py39he80948d_8 conda-forge
pyqtchart 5.12 py39h0fcd23e_8 conda-forge
pyqtwebengine 5.12.1 py39h0fcd23e_8 conda-forge
pysocks 1.7.1 py39hf3d152e_5 conda-forge
python 3.9.13 h9a8a25e_0_cpython conda-forge
python_abi 3.9 2_cp39 conda-forge
pyyaml 6.0 py39hb9d737c_4 conda-forge
pyzmq 23.2.0 py39headdf64_0 conda-forge
qt 5.12.9 h1304e3e_6 conda-forge
qwt 6.1.6 h7ec6b3e_0 conda-forge
readline 8.1.2 h0f457ee_0 conda-forge
requests 2.28.1 pyhd8ed1ab_0 conda-forge
sdl 1.2.52 h27087fc_1 conda-forge
sdl2 2.0.22 h55ee7ae_2 conda-forge
setuptools 63.3.0 py39hf3d152e_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sqlite 3.39.2 h4ff8645_0 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
tzdata 2022a h191b570_0 conda-forge
uhd 3.15.0.0 py39h3524f2f_8 conda-forge
urllib3 1.26.11 pyhd8ed1ab_0 conda-forge
volk 2.4.1 h9c3ff4c_3 conda-forge
wheel 0.37.1 pyhd8ed1ab_0 conda-forge
xorg-fixesproto 5.0 h7f98852_1002 conda-forge
xorg-inputproto 2.3.2 h7f98852_1002 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.0.10 h7f98852_0 conda-forge
xorg-libsm 1.2.3 hd9c2040_1000 conda-forge
xorg-libx11 1.7.2 h7f98852_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h7f98852_1 conda-forge
xorg-libxfixes 5.0.3 h7f98852_1004 conda-forge
xorg-libxi 1.7.10 h7f98852_0 conda-forge
xorg-libxrender 0.9.10 h7f98852_1003 conda-forge
xorg-libxtst 1.2.3 h7f98852_1002 conda-forge
xorg-recordproto 1.14.2 h7f98852_1002 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-xextproto 7.3.0 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.5 h516909a_1 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
zeromq 4.3.4 h9c3ff4c_1 conda-forge
zipp 3.8.0 pyhd8ed1ab_0 conda-forge
zlib 1.2.12 h166bdaf_2 conda-forge
zstd 1.5.2 h8a70e8d_2 conda-forge
```
On Wed, Jul 27, 2022 at 3:35 PM Ryan Volz <ryan.v...@gmail.com
<mailto:ryan.v...@gmail.com>> wrote:
Hi Jameson,
I just tried this in a fresh environment with gnuradio 3.8.2 and python
3.8.13, and I was unable to reproduce the error. Maybe some of my
packages were newer than what you have. Can you try upgrading packages
to their latest versions? In other words, maybe you have an older build
of gnuradio 3.8.2 that was fixed in a subsequent build of that same
version number.
Or maybe this has a similar cause to
https://github.com/gnuradio/gnuradio/issues/5068
<https://github.com/gnuradio/gnuradio/issues/5068>?
Cheers,
Ryan
On 7/26/22 1:20 PM, Jameson Collins wrote:
> miniforge conda environment, gnuradio 3.8.2.0
>
> (gnuradio) user@user-VirtualBox-20$ gr_modtool newmod
> Name of the new module: asdf
> Creating out-of-tree module in ./gr-asdf...
> Traceback (most recent call last):
> File
> "/home/user/build/conda/miniforge3/envs/gnuradio/bin/gr_modtool",
line
> 30, in <module>
> cli()
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/click/core.py",
> line 1130, in __call__
> return self.main(*args, **kwargs)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/click/core.py",
> line 1055, in main
> rv = self.invoke(ctx)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/click/core.py",
> line 1657, in invoke
> return _process_result(sub_ctx.command.invoke(sub_ctx))
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/click/core.py",
> line 1404, in invoke
> return ctx.invoke(self.callback, **ctx.params)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/click/core.py",
> line 760, in invoke
> return __callback(*args, **kwargs)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/gnuradio/modtool/cli/base.py",
> line 153, in wrapper
> return func(*args, **kwargs)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/gnuradio/modtool/cli/newmod.py",
> line 64, in cli
> run(self)
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/gnuradio/modtool/cli/base.py",
> line 172, in run
> module.run()
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/site-packages/gnuradio/modtool/core/newmod.py",
> line 91, in run
> s = filetext.read()
> File
>
"/home/user/build/conda/miniforge3/envs/gnuradio/lib/python3.8/codecs.py",
> line 322, in decode
> (result, consumed) = self._buffer_decode(data, self.errors,
final)
> UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8d in
position 12:
> invalid start byte