Your program needs to be linked against the library which your custom block controller is compiled into, if in fact your block is using a custom block controller.¬†<div><br></div><div>uhd_usrp_probe and the other UHD utilities aren't linked against the custom library. This isn't generally a problem since the utilities and examples don't make use of your custom block.¬†</div><div><br></div><div>Nick<br><br><div class="gmail_quote"><div dir="ltr">On Wed, Mar 27, 2019, 1:26 PM John Medrano via USRP-users <<a href="mailto:usrp-users@lists.ettus.com">usrp-users@lists.ettus.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello,</div><div><br></div><div>We have a custom RFNOC block that we have created. When we using GNURadio/Python everything works fine. When follow the examples in uhd/host/examples and generate an executable using C++, we get an error on execution. <br></div><div><br></div><div>We noticed that on start up the python program has no issue locating controllers for all our custom blocks (FreqMod):</div><div><br></div><div>2019-Mar-27 13:52:50.824938,0x7f36d447c740,log.cpp:460,2,UHD,linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.14.0.0-220-g97935b15<br>2019-Mar-27 13:52:50.947109,0x7f36d447c740,x300_impl.cpp:400,2,X300,X300 initialization sequence...<br>2019-Mar-27 13:52:51.229789,0x7f36d447c740,x300_impl.cpp:1731,2,X300,Maximum frame size: 1472 bytes.<br>2019-Mar-27 13:52:51.279558,0x7f36d447c740,x300_impl.cpp:942,2,X300,Radio 1x clock: 200 MHz<br>2019-Mar-27 13:52:51.298743,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DmaFIFO_0,Initializing block control (NOC ID: 0xF1F0D00000000000)<br>2019-Mar-27 13:52:51.336670,0x7f36d447c740,dma_fifo_block_ctrl_impl.cpp:44,2,0/DmaFIFO_0,BIST passed (Throughput: 1302 MB/s)<br>2019-Mar-27 13:52:51.387156,0x7f36d447c740,dma_fifo_block_ctrl_impl.cpp:44,2,0/DmaFIFO_0,BIST passed (Throughput: 1320 MB/s)<br>2019-Mar-27 13:52:51.430922,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/Radio_0,Initializing block control (NOC ID: 0x12AD100000000001)<br>2019-Mar-27 13:52:51.529115,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/Radio_1,Initializing block control (NOC ID: 0x12AD100000000001)<br>2019-Mar-27 13:52:51.628687,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DUC_0,Initializing block control (NOC ID: 0xD0C0000000000000)<br>2019-Mar-27 13:52:51.666650,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DUC_1,Initializing block control (NOC ID: 0xD0C0000000000000)<br>2019-Mar-27 13:52:51.704298,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DDC_0,Initializing block control (NOC ID: 0xDDC0000000000000)<br>2019-Mar-27 13:52:51.741327,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DDC_1,Initializing block control (NOC ID: 0xDDC0000000000000)<br>2019-Mar-27 13:52:51.920546,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/FreqMod_0,Initializing block control (NOC ID: 0x2833DDBAA1C8E99C)</div><div><br></div><div>But when we run uhd_usrp_probe or our program we get:</div><div><br></div><div>2019-Mar-27 13:50:48.142811,0x7f489075e7c0,x300_impl.cpp:400,2,X300,X300 initialization sequence...<br>2019-Mar-27 13:50:48.424155,0x7f489075e7c0,x300_impl.cpp:1731,2,X300,Maximum frame size: 1472 bytes.<br>2019-Mar-27 13:50:48.494774,0x7f489075e7c0,x300_impl.cpp:942,2,X300,Radio 1x clock: 200 MHz<br>2019-Mar-27 13:50:48.509901,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DmaFIFO_0,Initializing block control (NOC ID: 0xF1F0D00000000000)<br>2019-Mar-27 13:50:48.546377,0x7f489075e7c0,dma_fifo_block_ctrl_impl.cpp:44,2,0/DmaFIFO_0,BIST passed (Throughput: 1317 MB/s)<br>2019-Mar-27 13:50:48.596601,0x7f489075e7c0,dma_fifo_block_ctrl_impl.cpp:44,2,0/DmaFIFO_0,BIST passed (Throughput: 1304 MB/s)<br>2019-Mar-27 13:50:48.638428,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/Radio_0,Initializing block control (NOC ID: 0x12AD100000000001)<br>2019-Mar-27 13:50:48.736751,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/Radio_1,Initializing block control (NOC ID: 0x12AD100000000001)<br>2019-Mar-27 13:50:48.838951,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DUC_0,Initializing block control (NOC ID: 0xD0C0000000000000)<br>2019-Mar-27 13:50:48.877079,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DUC_1,Initializing block control (NOC ID: 0xD0C0000000000000)<br>2019-Mar-27 13:50:48.916659,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DDC_0,Initializing block control (NOC ID: 0xDDC0000000000000)<br>2019-Mar-27 13:50:48.957457,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DDC_1,Initializing block control (NOC ID: 0xDDC0000000000000)<br>2019-Mar-27 13:50:49.135814,0x7f489075e7c0,block_ctrl_base_factory.cpp:77,3,RFNOC,Can't find a block controller for key FreqMod, using default block<br>¬†controller!<br>2019-Mar-27 13:50:49.139122,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/FreqMod_0,Initializing block control (NOC ID: 0x2833DDBAA1C8E99C)<br></div><div><br></div><div>The error we receive is directly related to the above. Please advise.</div><div><br></div><div>Thank you,</div><div>John<br></div></div></div></div>
_______________________________________________<br>
USRP-users mailing list<br>
<a href="mailto:USRP-users@lists.ettus.com" target="_blank">USRP-users@lists.ettus.com</a><br>
<a href="http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com" rel="noreferrer" target="_blank">http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com</a><br>
</blockquote></div></div>