Skip to content
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

Add gnuradio 3.10 - 3.11 support #600

Open
wants to merge 29 commits into
base: master
Choose a base branch
from

Conversation

bkerler
Copy link

@bkerler bkerler commented Mar 17, 2022

Tested with gnuradio 3.11. Adds additional patches from other pull requests.
I had to restructure the directories in order to match the official gnuradio module structure.

Copy link
Contributor

@velichkov velichkov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @bkerler,

Welcome to gr-gsm and thanks for taking the time to port it to the latest gnuradio version. Your effort would be much appreciated.

Tested with gnuradio 3.11.

Have you tested it with 3.10 as you branch is called maint-3.10 and not maint-3.11. Are you familiar with docker and can you provide some Dockerfiles similar to tests/dockerfiles/Ubuntu_20_04.docker and tests/dockerfiles/Debian_testing.docker. Previously we have used TravisCI for testing but right now there is something wrong with it but sill we can use these the Dockerfiles for local testing.

I still haven't finished the whole review as there are quite a lot of changes but here are some comments

python/gsm/receiver/multiarfcns_receiver.py Outdated Show resolved Hide resolved
apps/grgsm_livemon.py Outdated Show resolved Hide resolved
apps/grgsm_livemon_headless.py Outdated Show resolved Hide resolved
@bkerler
Copy link
Author

bkerler commented Mar 18, 2022

Hi, thanks for pointing them out, I've resolved the issues as you proposed.

@bkerler
Copy link
Author

bkerler commented Mar 18, 2022

I've tested the module with 3.10 and 3.11. It should work with 3.9 as well.

@bkerler
Copy link
Author

bkerler commented Mar 18, 2022

Regarding docker : I'm not a big fan of it. But I will be able to provide a local installation script/package soon (which doesn't interfer with the installed system).

@AkechiShiro
Copy link

Sorry to ask this question, I'm aware that on open source there is strictly no ETA, but when is this roughly expected to land in master, in a week or two perhaps ?

@bkerler bkerler changed the title Add gnuradio 3.9 - 3.11 support Add gnuradio 3.10 - 3.11 support Mar 20, 2022
@bkerler
Copy link
Author

bkerler commented Mar 20, 2022

Seems the code is incompatible with 3.9 as gnuradio added incompatible cmake options on 3.10.

@bkerler
Copy link
Author

bkerler commented Mar 22, 2022

For those interested into support for 3.9, I did a backport here: https://github.com/bkerler/gr-gsm/tree/maint-3.9

@axilirator
Copy link
Contributor

First of all, thanks for your effort! I tried to migrate to 3.9 myself, but quickly gave up.

This Pull Request mixes up several things. The topic is "Add gnuradio 3.10 - 3.11 support", however you're also adding a new block (Multi Arfcns GSM Receiver) here. Ideally this should be done in a separate Pull Request. Also, small commits like dc7774c, 5accd4a, 14c94dc, and d667096 should be squashed into the main commit because IMO it makes a little sense to have them in the git log.

@bkerler
Copy link
Author

bkerler commented Mar 26, 2022

Yes, I've added other existing pull requests where it seemed reasonable to integrate them. It wasn't planned to write a pr in the beginning, that's why I didn't keep it separately, sorry. I could separate it from the port but that might take a while if that's really required.

@bkerler
Copy link
Author

bkerler commented Mar 26, 2022

The "path" issue is required to match the gnuradio 3.9 project structure and to avoid conflicts with existing non-gnuradio python packets. Backporting to <3.9 doesn't make sense to me to be honest.

@bkerler
Copy link
Author

bkerler commented Mar 31, 2022

I've removed the multi arfcns stuff.

@pixkike
Copy link

pixkike commented Jul 19, 2022

IT did not work or I miss some dependency ? I install fnuradio 3.10 and install grgsm from @bkerler source
Buld and installation done But it didn't work Please Someone tell me how do I fix this

grgsm_decode 1 ⨯ Traceback (most recent call last): File "/usr/local/bin/grgsm_decode", line 31, in <module> from gnuradio import gsm File "/usr/local/lib/python3.10/dist-packages/gnuradio/gsm/__init__.py", line 46, in <module> from .gsm_python import * ImportError: libgnuradio-gsm.so.1.0.0git: cannot open shared object file: No such file or directory

BTW I can't run "grgsm_livemon" it show me " command not found "
I use kali 2022

@alphafox02
Copy link

@bkerler the person above mentioned a grgsm_decode issue, which if I recall is the same issue I had. @pixkike find the flow graph in that source you pulled down, open it in gnuradio and generate the Python file. Make it executable, remove the .py and put it in bin. That’s from memory but I think it’s about what I did.

@bkerler
Copy link
Author

bkerler commented Jul 19, 2022

Yes that's how it works right now, but that's not the way it's intended to work

@bkerler
Copy link
Author

bkerler commented Jul 27, 2022

here's the error :

**************************************************
3 errors from flowgraph:
Param - Cell allocation(cell_allocation):
	Value "[arfcn.downlink2arfcn(fc)]" cannot be evaluated:
	name 'arfcn' is not definedParam - Cell allocation(cell_allocation):
	Expression None is invalid for type'float_vector'.Param - Import(imports):
	Import "import gnuradio.gsm.arfcn as arfcn" failed.
**************************************************
Compilation error

@bkerler
Copy link
Author

bkerler commented Jul 27, 2022

it's basically commit 6eea94f that fails.

@velichkov
Copy link
Contributor

Import "import gnuradio.gsm.arfcn as arfcn" failed.

Thanks. I've fixed this and opened a PR in your fork bkerler#3. Now I'm trying to fix the failure in qa_burst_file_source test.

bkerler and others added 3 commits July 27, 2022 17:22
Fix building of grgsm_livemon and grgsm_livemon_headless
Patch 1020-reproducible-build.patch from Debian package, written by
Chris Lamb to solve https://bugs.debian.org/891405 .
@axistwelve
Copy link

Hi,

I am still experiencing issues on livemon compilation (I am using Kali 2022) and maint-3.10-fixes and Gnun 3.10.4
ii gnuradio 3.10.4.0-2+b1 armhf GNU Radio Software Radio Toolkit
ii gnuradio-dev 3.10.4.0-2+b1 armhf GNU Software Defined Radio toolkit development
`cd /usr/local/src/IMSI-catcher/gr-gsm/build/apps && /usr/bin/cmake -E env PYTHONPATH="/usr/local/src/IMSI-catcher/gr-gsm/build/test_modules" GRC_BLOCKS_PATH=/usr/local/src/IMSI-catcher/gr-gsm/grc CMAKE_BINARY_DIR=/usr/local/src/IMSI-catcher/gr-gsm/build /usr/bin/grcc -o /usr/local/src/IMSI-catcher/gr-gsm/build/apps /usr/local/src/IMSI-catcher/gr-gsm/apps/grgsm_livemon_headless.grc

Warning: vocoder_codec2_decode_ps - option_attributes are for enums only, ignoring
Warning: vocoder_codec2_encode_sp - option_attributes are for enums only, ignoring
<<< Welcome to GNU Radio Companion Compiler 3.10.4.0 >>>

Block paths:
/usr/local/src/IMSI-catcher/gr-gsm/grc
/usr/share/gnuradio/grc/blocks

Loading: /usr/local/src/IMSI-catcher/gr-gsm/apps/grgsm_livemon_headless.grc
Load Error: /usr/local/src/IMSI-catcher/gr-gsm/apps/grgsm_livemon_headless.grc: Flowgraph invalid


4 errors from flowgraph:
Param - Cell allocation(cell_allocation):
Value "[arfcn.downlink2arfcn(fc)]" cannot be evaluated:
name 'arfcn' is not definedParam - Cell allocation(cell_allocation):
Expression None is invalid for type'float_vector'.Param - Import(imports):
Import "import gnuradio.gsm as gsm" failed.Param - Import(imports):
Import "from gnuradio.gsm import arfcn" failed.


Compilation error
`

@axistwelve
Copy link

I just manually generated both after install and placed them in the /bin dir. Didn’t solve the initial problem, but that’s how I’ve been using it on my pi with 3.10. Livemon and scanner work great. Only issue I still recall having is with grgsm_decode and some error, but I’ve forgotten what it was.

Hey @alphafox02 so if I comment out the code as per above, how do I manually generate the two items post build (as a works around for the issue). Best regards

@alphafox02
Copy link

I’m pretty certain @bkerler fork maint_3.10 branch has all this sorted out now and the files are generated after the make install. Not at my computer at the moment but will check this evening.

@bkerler
Copy link
Author

bkerler commented Nov 14, 2022

Fixed with latest commits on both multiarfcn and main-3.10 branches.

@dstuart
Copy link

dstuart commented Nov 28, 2022

Hi, So I am using rasberry Pi
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2022.3
Codename: kali-rolling

Python 3.10.5
ii gnuradio 3.10.4.0-2+b1 armhf GNU Radio Software Radio Toolkit
ii gnuradio-dev 3.10.4.0-2+b1 armhf GNU Software Defined Radio toolkit development
ii gr-osmosdr 0.2.3-7+b1 armhf Gnuradio blocks from the OsmoSDR project

With

It still wont compile livemon. I can make if work, commenting out the CMakeLists thing
OPTION(ENABLE_GRGSM_LIVEMON "Compile grgsm_livemon" ON)
OPTION(ENABLE_GRGSM_LIVEMON_HEADLESS "Compile grgsm_livemon_headless" ON)
set(gsm_flowgraphs "")
#OPTION(ENABLE_GRCC "Compile the flowgraphs with grcc" ON)

The error I get is the same as per above
grcc -o /gr-gsm/build/apps /gr-gsm/apps/grgsm_livemon_headless.grc

Warning: vocoder_codec2_decode_ps - option_attributes are for enums only, ignoring
Warning: vocoder_codec2_encode_sp - option_attributes are for enums only, ignoring
<<< Welcome to GNU Radio Companion Compiler 3.10.4.0 >>>

Block paths:
/root/.grc_gnuradio
/usr/share/gnuradio/grc/blocks
/usr/local/share/gnuradio/grc/blocks

Loading: /gr-gsm/apps/grgsm_livemon_headless.grc
Load Error: /gr-gsm/apps/grgsm_livemon_headless.grc: Flowgraph invalid


4 errors from flowgraph:
Param - Cell allocation(cell_allocation):
Value "[arfcn.downlink2arfcn(fc)]" cannot be evaluated:
name 'arfcn' is not definedParam - Cell allocation(cell_allocation):
Expression None is invalid for type'float_vector'.Param - Import(imports):
Import "import gnuradio.gsm as gsm" failed.Param - Import(imports):
Import "from gnuradio.gsm import arfcn" failed.


Compilation error

(not sure of relevant) If I do a simple import of the gnuradio files I get this

import gnuradio.gsm as gsm
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.10/dist-packages/gnuradio/gsm/init.py", line 46, in
from .gsm_python import *
ImportError: generic_type: type "burst_file_source" referenced unknown base type "gr::block"

from gnuradio.gsm import arfcn
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.10/dist-packages/gnuradio/gsm/init.py", line 46, in
from .gsm_python import *
ImportError: generic_type: type "burst_file_source" referenced unknown base type "gr::block"

Please help

@dstuart
Copy link

dstuart commented Nov 29, 2022

@alphafox02 Did you manage to test this to see if it's working for you now? As per above I commented it out and managed to get to a make install, thinking once the files were in place it might all work for the grc's but it still giving me pain. How do you manually generate grgsm_livemon and grgsm_livemon_headless ?

@alphafox02
Copy link

If I recall, I’ve not had to do anything manual nowadays. I’ve built the non multi arfcn branch on x86_64 and aarch64 now. If you look up DragonOS Pi64 you’ll find the image prebuilt with 3.10.4 + grgsm etc. maybe take a peak and see what’s different about it.

@alphafox02
Copy link

To Manually generate you can open the flow graphs with gnuradio companion, click the button to generate the py file. Remove the .py extension, make then executable with chmod, and place then I think in /usr/local/bin, but you should’nt have to do that anymore.

@dstuart
Copy link

dstuart commented Nov 29, 2022

Ok great thanks for the info. will definitely look into both of those things

@alphafox02
Copy link

@dstuart @bkerler fyi - I tried to build the multi arfcn branch for 3.10 and experienced this as well #600 (comment) w/ GR 3.10.4/22.04

It does not occur when using the non multi arfcn branch w/ GR 3.10.

@DethCount
Copy link

Fixed by updating symlink
lrwxrwxrwx 1 root root 27 mai 18 10:14 libgnuradio-gsm.so.1.0.0git -> libgnuradio-gsm.so.g199fb3f
instead of
lrwxrwxrwx 1 root root 27 mai 18 10:14 libgnuradio-gsm.so.1.0.0git -> libgnuradio-gsm.so.199fb3f

@Dieg0x17
Copy link

Tras compilar y tratar de importar el modulo gsm, aparece el siguiente fallo

>>> import gnuradio.gsm.arfcn
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.11/dist-packages/gnuradio/gsm/__init__.py", line 46, in <module>
    from .gsm_python import *
ImportError: libgnuradio-gsm.so.1.0.0git: cannot open shared object file: No such file or directory

en el /usr/local/lib/python3.11/dist-packages/gnuradio/gsm/__init__.py esta sección

# import pybind11 generated symbols into the gsm namespace
try:
    # this might fail if the module is python-only
    from .gsm_python import *
except ModuleNotFoundError:
    pass

Por algun motivo no encuentra la siguiente libreria al compilar

libgnuradio-gsm.so.1.0.0git => not found

Esta otra libreria parece que no esta enlazada con aquella.

ldd -r gsm_python.cpython-311-x86_64-linux-gnu.so 
        linux-vdso.so.1 (0x00007fff364fe000)
        libgnuradio-gsm.so.1.0.0git => not found
        libgnuradio-runtime.so.3.10.10 => /lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.10 (0x00007f9378e01000)
        libgnuradio-pmt.so.3.10.10 => /lib/x86_64-linux-gnu/libgnuradio-pmt.so.3.10.10 (0x00007f9378da5000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9378b40000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9378b13000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f937892c000)
        libvolk.so.3.1 => /lib/x86_64-linux-gnu/libvolk.so.3.1 (0x00007f937864e000)
        libboost_thread.so.1.83.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.83.0 (0x00007f937862b000)
        libspdlog.so.1.12 => /lib/x86_64-linux-gnu/libspdlog.so.1.12 (0x00007f93785a0000)
        libboost_program_options.so.1.83.0 => /lib/x86_64-linux-gnu/libboost_program_options.so.1.83.0 (0x00007f9378533000)
        libfmt.so.9 => /lib/x86_64-linux-gnu/libfmt.so.9 (0x00007f9378513000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f9378489000)
        libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f937846d000)
        libthrift-0.19.0.so => /lib/x86_64-linux-gnu/libthrift-0.19.0.so (0x00007f93783a9000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f93782c7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f93790b1000)
        liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f937820e000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f93781dc000)
        libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f93780e7000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f9377b73000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9377b54000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f9377a93000)
undefined symbol: PyInstanceMethod_Type (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_ValueError      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm23burst_timeslot_splitter4makeEv    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm12message_sink4makeEv       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm16burst_fnr_filter4makeENS0_11filter_modeEj (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _Py_TrueStruct        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_IndexError      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm17burst_type_filter4makeERKSt6vectorIhSaIhEE        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm14bursts_printer4makeESt10shared_ptrIN3pmt8pmt_baseEEbbbb   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm11extract_cmc4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm10burst_sink4makeEv (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm15message_printer4makeESt10shared_ptrIN3pmt8pmt_baseEEbbb   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13txtime_setter4makeEjmdmddd        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13major_versionB5cxx11Ev    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_Type        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm34controlled_fractional_resampler_cc4makeEff        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyModule_Type (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm18dummy_burst_filter4makeEv (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm8receiver4makeEiRKSt6vectorIiSaIiEES6_b     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm7versionB5cxx11Ev   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm10msg_to_tag4makeEv (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm17cx_channel_hopper4makeERKSt6vectorIiSaIiEEii      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _Py_NoneStruct        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm24control_channels_decoder4makeEv   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm11api_versionB5cxx11Ev      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_MemoryError     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyType_Type   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyByteArray_Type      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm19extract_system_info4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm21controlled_rotator_cc4makeEd      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCFunction_Type      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_OverflowError   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm19preprocess_tx_burst4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyProperty_Type       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm19collect_system_info4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm15burst_file_sink4makeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm24uplink_downlink_splitter4makeEv   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm11tmsi_dumper4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13tch_f_decoder4makeENS0_8tch_modeEb        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_BufferError     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm17message_file_sink4makeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm20tch_h_chans_demapper4makeEjj      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm10build_dateB5cxx11Ev       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_RuntimeError    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm17fn_time_delta_cppEjSt4pairIydEjS2_jj      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm11gen_test_ab4makeEv        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _Py_NotImplementedStruct      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm28burst_sdcch_subslot_splitter4makeENS0_13splitter_modeE    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyBaseObject_Type     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_TypeError       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm10decryption4makeERKSt6vectorIhSaIhEEj      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyMethod_Type (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm12trx_burst_if4makeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13minor_versionB5cxx11Ev    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _Py_FalseStruct       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_Type   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm29universal_ctrl_chans_demapper4makeEjRKSt6vectorIiSaIiEES6_S6_S6_S6_S6_    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm28extract_immediate_assignment4makeEbbb     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm17burst_file_source4makeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm14message_source4makeERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EE      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm12burst_source4makeERKSt6vectorIiSaIiEES6_RKS2_INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISC_EE        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm20tch_f_chans_demapper4makeEj       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFloat_Type  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13maint_versionB5cxx11Ev    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_SystemError     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyExc_ImportError     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm16burst_to_fn_time4makeEv   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm22extract_assignment_cmd4makeEv     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm20clock_offset_control4makeEffj     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm13tch_h_decoder4makeEjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm26burst_sdcch_subslot_filter4makeENS0_19subslot_filter_modeEj       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm21burst_timeslot_filter4makeEj      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _ZN2gr3gsm19message_file_source4makeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_GenericGetDict       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_GenericSetDict       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyTuple_SetItem       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_Repr (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyLong_AsLong (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyLong_FromSsize_t    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyByteArray_Size      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_Call (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_And  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_NormalizeException      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyInstanceMethod_New  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyEval_AcquireThread  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_Str  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThreadState_DeleteCurrent   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyGILState_GetThisThreadState (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_GetAttrString        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyMem_Free    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Restore (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyType_IsSubtype      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyModule_AddObject    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_SetPointer  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyTuple_New   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_SetAttr      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_IsInstance   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyException_SetTraceback      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Float        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_FromFormat  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyList_Append (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_Contains       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_Next   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyList_Size   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyTuple_Size  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Long (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyBuffer_Release      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Format  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_CallObject   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFloat_FromDouble    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFloat_AsDouble      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_DecodeUTF8  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _Py_Dealloc   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyByteArray_AsString  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyList_New    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyImport_ImportModule (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Check        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _PyObject_GetDictPtr  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_FromString  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyIndex_Check (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: Py_GetVersion (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_SetContext  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFrame_GetLineNumber (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThread_tss_get      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyBytes_Size  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PySequence_Check      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyList_GetItem        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyException_SetContext        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Clear   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_HasAttrString        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyWeakref_NewRef      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_New    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_SetString       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_GetContext  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThreadState_Get     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_SetItem      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_New (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyMem_Calloc  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_SetAttrString        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyGILState_Release    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_GetPointer  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Xor  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThread_tss_alloc    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyBytes_AsString      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_GetItemWithError       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThread_tss_set      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_GetItem      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyType_Ready  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyEval_SaveThread     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PySequence_GetItem    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Invert       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_ClearWeakRefs        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_GC_UnTrack   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PySequence_Size       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyLong_FromLong       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyEval_GetBuiltins    (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_WriteUnraisable (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_RichCompareBool      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyNumber_Or   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyModule_Create2      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThread_tss_create   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyLong_AsUnsignedLong (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyLong_FromSize_t     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFrame_GetBack       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_AsEncodedString     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Occurred        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_Copy   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Fetch   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThreadState_New     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _PyThreadState_UncheckedGet   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: _PyType_Lookup        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_CallFunctionObjArgs  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_Size   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PySequence_Tuple      (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyThreadState_Clear   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyDict_DelItemString  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_AsUTF8AndSize       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyGILState_Ensure     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyObject_Malloc       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCMethod_New (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyErr_Print   (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyCapsule_GetName     (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyTuple_GetItem       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyFrame_GetCode       (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyException_SetCause  (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyUnicode_AsUTF8String        (./gsm_python.cpython-311-x86_64-linux-gnu.so)
undefined symbol: PyBytes_AsStringAndSize       (./gsm_python.cpython-311-x86_64-linux-gnu.so)

Esta clase lib/demapping/universal_ctrl_chans_demapper_impl.cc por lo visto tampoco es encontrada al ejecutar su envoltorio desde python..

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.11/dist-packages/gnuradio/gsm/gsm_sdcch8_demapper.py", line 89, in __init__
    self.gsm_universal_ctrl_chans_demapper_0 = gsm.universal_ctrl_chans_demapper(
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'gnuradio.gsm' has no attribute 'universal_ctrl_chans_demapper'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.