Hi Josh - you da man!

This fixes the problem, and the 3.9 OOT runs now.

Of note for anyone else following along:  the 2.4.3 tarball for pybind11
listed in the 3.9 OOT porting guide instructions
does not create a make uninstall target. It does however produce an install
manifest.  I went through that and deleted
what it installed before proceeding.

Then sudo apt install pybind11-dev       This installed 2.5.0

-- Tom, N5EG




On Mon, May 10, 2021 at 4:01 AM Josh Morman <mor...@gmail.com> wrote:

> Tom,
>
> It looks like the OOT might be using a different version of pybind11 than
> the ppa version of gnuradio was built against.  The PPA for 20.04 appears
> to have been built using pybind11 v2.5.0, but the default with Ubuntu 20.04
> is 2.4.3.
>
> I can repeat the symptom you see when creating a docker that has
> pybind11-dev v.2.4.3 from the main Ubuntu repos, but then pull gnuradio
> from ppa:gnuradio-releases.  After installing gnuradio from the ppa, if I
> then do:
> apt upgrade pybind11-dev
>
> then the OOT will compile and load properly.
>
> I can probably fix this in the PPA by removing the pybind11 packages and
> just relying on what gets shipped with Ubuntu, but for now, maybe a ` apt
> upgrade pybind11-dev ` will fix the issue.
>
> Josh
>
> On Sun, May 9, 2021 at 7:18 PM Tom McDermott <tom.n...@gmail.com> wrote:
>
>> I built a new VM from zero.  Ubuntu 20.04
>> apt install build-essential
>> apt install git
>> apt install cmake
>> apt install python3-pip
>> pip3 install pygccxml
>> build, install pybind11 from 2.4.3 tarball
>> setup gnuradio repository to releases
>> apt install gnuradio
>>    This gives gnuradio 3.9.1.0
>>
>> git-cloning both Ron's gr-iqlevels and my gr-hpsdr, going through cmake,
>> make, sudo make install, sudo ldconfig
>> yields exactly the same results as before:  the gr:sync_block
>> (gr-iqlevels)  or the gr::block (gr-hpsdr)  are not imported.
>>
>> -- Tom, N5EG
>>
>>
>>
>>
>>
>>
>> On Sun, May 9, 2021 at 11:44 AM Tom McDermott <tom.n...@gmail.com> wrote:
>>
>>> Hi Ron - thank you for sending me the link to your 3.9 gr-iqlevels
>>> module !
>>> It builds and installs OK, but when trying to run it gives me the same
>>> type of error as my own module:
>>>
>>> Note: cmake .. -DCMAKE_INSTALL_PREFIX=/usr   was used for for gr-iqlevels
>>>
>>> $ python3
>>> Python 3.8.5 (default, Jan 27 2021, 15:41:15)
>>> [GCC 9.3.0] on linux
>>> Type "help", "copyright", "credits" or "license" for more information.
>>> >>> import gnuradio
>>> >>> import iqlevels
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>>   File "/usr/lib/python3/dist-packages/iqlevels/__init__.py", line 18,
>>> in <module>
>>>     from .iqlevels_python import *
>>> ImportError: generic_type: type "iqlevels" referenced unknown base type
>>> "gr::sync_block"
>>> >>>
>>>
>>> And when run from GRC:
>>>
>>> Traceback (most recent call last):
>>>   File "/home/tom/Desktop/iqlevels.py", line 142, in <module>
>>>     main()
>>>   File "/home/tom/Desktop/iqlevels.py", line 120, in main
>>>     tb = top_block_cls()
>>>   File "/home/tom/Desktop/iqlevels.py", line 81, in __init__
>>>     self.iqlevels_iqlevels_0 = iqlevels.iqlevels(samp_rate, 1)
>>> AttributeError: type object 'iqlevels' has no attribute 'iqlevels'
>>>
>>>
>>> So it appears there is something wrong or misconfigured in my system.
>>> I am baffled as to what that might be.
>>>
>>> Ubuntu 20.04
>>> Gnuradio 3.9.0.0
>>> Python 3.8.5
>>> Cmake 3.16.3
>>> GCC 9.3.0
>>> pygccxml  2.1.0  installed using pip3
>>> pybind11-2.4.3 installed from tarball according to the OOT 3.9
>>> instructions
>>>   pybind11 build, cmake, make, make install by the above directions.
>>>    it put the various pybind headers into /usr/local/include/pybind11/
>>>
>>> Is there some other configuration, path, or other thing that needs to be
>>> setup?
>>>
>>> -- Tom, N5EG
>>>
>>>
>>>
>>>
>>>

Reply via email to