Hello,

We have verified that library is being linked.

When we run  nm <program name> | grep <block name>

We see the following:
0000000000030310 W _ZNK3uhd7device314get_block_ctrlINS_5rfnoc19<block
name>_block_ctrlEEEN5boost10shared_ptrIT_EERKNS2_10block_id_tE
000000000023d6e0 V _ZTIN3uhd5rfnoc19<block name>_block_ctrlE
0000000000034b00 V _ZTSN3uhd5rfnoc19<block name>_ctrlE

We continue to get same error.

We have several blocks and we tried with all of them with same result.


On Wed, Mar 27, 2019 at 4:36 PM Nick Foster <bistrom...@gmail.com> wrote:

> Make very sure that your program is actually linking in the library
> correctly. Linkers are weird and their interaction with build systems is
> often unpredictable and sometimes perverse. Find the symbols in the
> compiled library with nm and see that they aren't undefined. Use make
> VERBOSE=1 to see the library actually being used.
>
> Nick
>
> On Wed, Mar 27, 2019 at 2:55 PM John Medrano <john.d.medr...@gmail.com>
> wrote:
>
>> Thank you for the response.
>>
>> I have added to CMakeList.txt:
>>
>> find_library(SLADEW_LIB gnuradio-SLADEW)
>> if(NOT SLADEW_LIB)
>>   message(FATAL_ERROR "SLADEW library not found")
>> endif()
>>
>> add later I add:
>>
>> target_link_libraries(rfnoc_freqmod ${UHD_LIBRARIES} ${Boost_LIBRARIES}
>> ${SLADEW_LIB})
>>
>> It compiles fine but I still get same messages on start up.
>>
>> Please advise:
>> John
>>
>>
>> On Wed, Mar 27, 2019 at 3:00 PM Nick Foster <bistrom...@gmail.com> wrote:
>>
>>> 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.
>>>
>>> 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.
>>>
>>> Nick
>>>
>>> On Wed, Mar 27, 2019, 1:26 PM John Medrano via USRP-users <
>>> usrp-users@lists.ettus.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> 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.
>>>>
>>>> We noticed that on start up the python program has no issue locating
>>>> controllers for all our custom blocks (FreqMod):
>>>>
>>>> 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
>>>> 2019-Mar-27
>>>> 13:52:50.947109,0x7f36d447c740,x300_impl.cpp:400,2,X300,X300 initialization
>>>> sequence...
>>>> 2019-Mar-27
>>>> 13:52:51.229789,0x7f36d447c740,x300_impl.cpp:1731,2,X300,Maximum frame
>>>> size: 1472 bytes.
>>>> 2019-Mar-27
>>>> 13:52:51.279558,0x7f36d447c740,x300_impl.cpp:942,2,X300,Radio 1x clock: 200
>>>> MHz
>>>> 2019-Mar-27
>>>> 13:52:51.298743,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DmaFIFO_0,Initializing
>>>> block control (NOC ID: 0xF1F0D00000000000)
>>>> 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)
>>>> 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)
>>>> 2019-Mar-27
>>>> 13:52:51.430922,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/Radio_0,Initializing
>>>> block control (NOC ID: 0x12AD100000000001)
>>>> 2019-Mar-27
>>>> 13:52:51.529115,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/Radio_1,Initializing
>>>> block control (NOC ID: 0x12AD100000000001)
>>>> 2019-Mar-27
>>>> 13:52:51.628687,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DUC_0,Initializing
>>>> block control (NOC ID: 0xD0C0000000000000)
>>>> 2019-Mar-27
>>>> 13:52:51.666650,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DUC_1,Initializing
>>>> block control (NOC ID: 0xD0C0000000000000)
>>>> 2019-Mar-27
>>>> 13:52:51.704298,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DDC_0,Initializing
>>>> block control (NOC ID: 0xDDC0000000000000)
>>>> 2019-Mar-27
>>>> 13:52:51.741327,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/DDC_1,Initializing
>>>> block control (NOC ID: 0xDDC0000000000000)
>>>> 2019-Mar-27
>>>> 13:52:51.920546,0x7f36d447c740,block_ctrl_base.cpp:60,2,0/FreqMod_0,Initializing
>>>> block control (NOC ID: 0x2833DDBAA1C8E99C)
>>>>
>>>> But when we run uhd_usrp_probe or our program we get:
>>>>
>>>> 2019-Mar-27
>>>> 13:50:48.142811,0x7f489075e7c0,x300_impl.cpp:400,2,X300,X300 initialization
>>>> sequence...
>>>> 2019-Mar-27
>>>> 13:50:48.424155,0x7f489075e7c0,x300_impl.cpp:1731,2,X300,Maximum frame
>>>> size: 1472 bytes.
>>>> 2019-Mar-27
>>>> 13:50:48.494774,0x7f489075e7c0,x300_impl.cpp:942,2,X300,Radio 1x clock: 200
>>>> MHz
>>>> 2019-Mar-27
>>>> 13:50:48.509901,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DmaFIFO_0,Initializing
>>>> block control (NOC ID: 0xF1F0D00000000000)
>>>> 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)
>>>> 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)
>>>> 2019-Mar-27
>>>> 13:50:48.638428,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/Radio_0,Initializing
>>>> block control (NOC ID: 0x12AD100000000001)
>>>> 2019-Mar-27
>>>> 13:50:48.736751,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/Radio_1,Initializing
>>>> block control (NOC ID: 0x12AD100000000001)
>>>> 2019-Mar-27
>>>> 13:50:48.838951,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DUC_0,Initializing
>>>> block control (NOC ID: 0xD0C0000000000000)
>>>> 2019-Mar-27
>>>> 13:50:48.877079,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DUC_1,Initializing
>>>> block control (NOC ID: 0xD0C0000000000000)
>>>> 2019-Mar-27
>>>> 13:50:48.916659,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DDC_0,Initializing
>>>> block control (NOC ID: 0xDDC0000000000000)
>>>> 2019-Mar-27
>>>> 13:50:48.957457,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/DDC_1,Initializing
>>>> block control (NOC ID: 0xDDC0000000000000)
>>>> 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
>>>>  controller!
>>>> 2019-Mar-27
>>>> 13:50:49.139122,0x7f489075e7c0,block_ctrl_base.cpp:60,2,0/FreqMod_0,Initializing
>>>> block control (NOC ID: 0x2833DDBAA1C8E99C)
>>>>
>>>> The error we receive is directly related to the above. Please advise.
>>>>
>>>> Thank you,
>>>> John
>>>> _______________________________________________
>>>> USRP-users mailing list
>>>> USRP-users@lists.ettus.com
>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>>
>>>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to