daniestevez / gr-satellites

GNU Radio decoder for Amateur satellites
GNU General Public License v3.0
790 stars 163 forks source link

gr-satellites Debian build gnuradio 3.10.11.0 ModuleNotFoundError: No module named satellites.bindings #634

Closed janvgils closed 3 months ago

janvgils commented 3 months ago

As the title describes, when building gr-satellites on Debian I run into a no module named satellites.bindings and the build fails.

In the past we had something similar that was related to pybind11-dev but looking at the version history and gnuradio-config this doesn't seem to be the case with this build fail.

-- Up-to-date: /usr/local/share/gnuradio/grc/blocks/satellites_usp_pls_crop.block.yml
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/dist-packages/satellites/__init__.py", line 47, in <module>
    from .bindings.satellites_python import *
ModuleNotFoundError: No module named 'satellites.bindings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/gr_satellites", line 20, in <module>
    import satellites.core
  File "/usr/local/lib/python3.12/dist-packages/satellites/__init__.py", line 49, in <module>
    from .satellites_python import *
ImportError: generic_type: type "ax100_decode" referenced unknown base type "gr::block"

Two warning in the log file:

lto-wrapper: warning: using serial compilation of 5 LTRANS jobs
lto-wrapper: note: see the ‘-flto’ option documentation for more information

Set non-toolchain portion of runtime path of "/usr/local/lib/python3.12/dist-packages/satellites/satellites_python.cpython-312-x86_64-linux-gnu.so" to ""

All information can be found at the following location.

daniestevez commented 3 months ago

I've seen something like this when the pybind11 that was packaged was not the same that was used to build the GNU Radio package. It seems that something in this sense is broken in your Debian testing. Are you able to build any other GNU Radio OOT modules that contain C++ block?

janvgils commented 3 months ago

Indeed we ran into this before with GNURadio 3.9 some years ago, that is why I added the gnuradio-config-info information.

gnuradio-config-info --version --pybind

3.10.11.0
2.12.0

The pybind11-dev package is also 2.12 pybind11-dev 2.12.0-1 but maybe there is a slight sub version difference. I will keep an eye on possible updates in the next couple of days and if that takes to long try to build my own.

It would be nice if it was possible to view all the package version that where used when gnuradio was build.

janvgils commented 3 months ago

The last couple of days I haven't seen any updates regarding pybind11 nor gnuradio on Debian testing/trixie.

So in the meantime, I am trying to create some debug logging that would help me in creating a Debian bug report.

Both cmake -DCMAKE_BUILD_TYPE=Debug ../ nor make -d have any information that could help in creating the report.

Can anybody point me in a direction that would show extra information in why satellites.bindings is failing?

Log information can be found at this location

janvgils commented 3 months ago

After this evenings updates, gr-satellites is building and working again:

Upgrading:                      
  bash                  libgirepository-2.0-0  libglib2.0-data
  busybox               libglib2.0-0t64        libglib2.0-dev
  gir1.2-glib-2.0       libglib2.0-0t64:i386   libglib2.0-dev-bin
  libglib2.0-bin

I guess one of the glib packages solved the issue.