Hi Ryan, thank you very much for your response!

I think I traced it back to something fishy with the initial cmake step
mentioned by you in the condainstall tutorial, setting the env variables.
I'm not sure if I messed up or if it goes even further, but it seems like
my %CONDA_PREFIX% variable wasn't set. E.g. my GR_PYTHON_DIR is just
"\Lib\site-packages", thus it gets prefixed by CMAKE_BUILD_PREFIX (which I
manually patched) and that's where the extra "\Library" comes from. I'll
try a clean install and pay more attention when running that first cmake.

I wonder if that helps with the load issue too, missing a definition for
gr::block.

Ryan Volz <ryan.v...@gmail.com> ezt írta (időpont: 2023. aug. 28., H,
10:00):

> Hi,
>
> On 8/27/23 10:46 PM, Bagojfalvi Bagoj wrote:
> > Hi all,
> >
> > Apologies in advance as I have no idea what I'm doing on multiple levels.
> > I'm trying to build my own OOT module. I managed to clear a number of
> > issues already but I got stuck.
> >
> > I have a clean install of the latest released GNURadio following the
> > CondaInstall tutorial on the website, including the steps needed for
> > building OOT modules. I used gr_modtool as described in the C++ OOT
> > tutorial to create the template for my module.
> >
> > Build works seemingly fine, but install places stuff in some crazy
> > location in my Program Files(x86) folder. (obviously I'm on windows)
> > E.g.: C:/Program Files
> (x86)/gr-ni_modinst_rf/bin/gnuradio-ni_modinst_rf.dll
> > I changed the top level CMakeList.txt to set CMAKE_INSTALL_PREFIX to the
> > CONDA_PREFIX env variable + /Library.
> > This puts everything where it should be,
> > E.g.:
> >
> C:/Users/Admin/.conda/envs/gnuradio-env/Library/bin/gnuradio-ni_modinst_rf.dll
> > except for the python output.
> > The python output is installed to
> > E.g.:
> >
> C:/Users/Admin/.conda/envs/gnuradio-env/Library/Lib/site-packages/gnuradio/ni_modinst_rf/ni_modinst_rf_python.cp311-win_amd64.pyd
> > but looking at where GR is expecting and where other stuff is it should
> > be in
> >
> C:/Users/Admin/.conda/envs/gnuradio-env/Lib/site-packages/gnuradio/ni_modinst_rf/
> instead
> > (note gnuradio-env/Lib vs gnuradio-env/Library/Lib )
> > Any ideas...
> > 1. why was I missing the correct cmake install location?
> > 2. why the difference between the Library/Lib and /Lib locations
> > 3. how to tell cmake properly where to install?
>
> 1. CMake guesses on where to put the Python files based on your prefix,
> but it happens to guess wrong because of how the conda environment is
> structured.
>
> 2. %CONDA_PREFIX%/Library/Lib is not anything that anybody uses, except
> by mistake, whereas %CONDA_PREFIX%/Lib is where Anaconda decided to put
> all the Python files when they released conda, and the ecosystem is
> stuck with that split now.
>
> 3. The part you're (probably) missing is to add the cmake argument to
> set GR_PYTHON_DIR to "%CONDA_PREFIX%\Lib\site-packages", i.e.
>
>      cmake -DGR_PYTHON_DIR="%CONDA_PREFIX%\Lib\site-packages" (the rest)
>
> By the way, this is documented on the CondaInstall wiki in the Building
> OOT modules section:
>
> https://wiki.gnuradio.org/index.php/CondaInstall#Building_OOT_modules_to_use_with_conda-installed_GNU_Radio
>
> >
> > Anyway, my temporary fix was to simply copy over the python files where
> > they should be and this way GR got one step closer to running my module.
> > I can drop the block in GRC, however I can't get over the following
> > error when running.
> > from .ni_modinst_rf_python import *
> > ImportError: generic_type: type "ni_rfsa_source" referenced unknown base
> > type "gr::block"
>
> This feels like an issue with using a different version of pybind or
> compiler than what GNU Radio was built with. Maybe look into using the
> `gnuradio-build-deps` metapackage to install the same versions of those
> as were used to compile gnuradio?
>
> >
> > I found this thread here: gr 3.9 OOT execution error: unknown base type
> > gr::block (gnu.org)
> > <
> https://lists.gnu.org/archive/html/discuss-gnuradio/2021-05/msg00023.html>
> > It sounds like the same issue, but there is no resolution.
> >
> > Anybody can point me in the right direction please?
> > I think I'm doing pretty good considering I didn't know what cmake was 2
> > days ago, but I understand I'm lacking some basics. Please be gentle. :D
> >
> > Thank you!
> >
>
> Cheers,
> Ryan
>

Reply via email to