Hi James,

I modified the code, uninstalled then make and install again. But when I
tried to generate the C API file (which can be generated before I did all
these), it outputs errors:

CMakeFiles/tags.dir/tags.cc.o: In function `_main(int, char**)':
tags.cc:(.text+0x892): undefined reference to
`gr::uhd::usrp_source::make(uhd::device_addr_t const&, uhd::stream_args_t
const&, bool)'
collect2: error: ld returned 1 exit status
make[2]: *** [apps/tags] Error 1
make[1]: *** [apps/CMakeFiles/tags.dir/all] Error 2
make: *** [all] Error 2

It has errors on usrp_source, which I just modified the code of. I checked
the source files, they are the same as Revision 338cfae6. So where can my
mistakes be? Thanks in advance.

Zhihong

On Wed, Feb 10, 2016 at 8:38 PM, James Humphries <[email protected]>
wrote:

> You can uninstall in the build directory:
>
> sudo make uninstall
>
>
>
> On Wed, Feb 10, 2016 at 8:33 PM, Zhihong Luo <[email protected]> wrote:
>
>> Hi James,
>>
>> Actually, the commit was only a month ago, I checked my source code and
>> it is different from the revised version. So just to make sure, what I need
>> to do is to change the source files (usrp_source_impl.cc, usrp_source.h
>> etc), then
>>
>>         mkdir build  (under gnuradio/)
>>         cd build
>>         cmake ..
>>         make
>>         make test
>>         sudo make install
>>
>> Then the lib files will be overwritten? Or do I need to delete something
>> before doing so?
>>
>> Thanks,
>> Zhihong
>>
>> On Wed, Feb 10, 2016 at 7:43 PM, James Humphries <
>> [email protected]> wrote:
>>
>>> Hi Zhihong,
>>>
>>> 4ae7a6015ba719a4720f61cc6f3857de2ebda89f is the commit hash that refers
>>> to a specific commit on the GNU Radio repository.
>>>
>>> If you built GNU Radio recently (I believe this commit was last August),
>>> then you should be OK.
>>>
>>> -Trip
>>>
>>> On Wed, Feb 10, 2016 at 6:42 PM, Zhihong Luo <[email protected]> wrote:
>>>
>>>> Hi Martin,
>>>>
>>>> What I want to do is to use the stream command to receive data, put it
>>>> into the file, rest for like 2s, then start receiving again. I think I can
>>>> do this by using multiple NUM SAMPLE AND DONE commands?
>>>>
>>>>  I don"t really understand the stop() here, I am using it because the
>>>> manual seems to say so?  Previously, I simply called the issue-stream-cmd
>>>> function before the flow graph start, but the file grew large very rapidly,
>>>> so I was thinking maybe the stop() is the right way to do it. Now I have no
>>>> idea how to call it.
>>>>
>>>> Sorry, but what is 4ae7a6015ba719a4720f61cc6f3857de2ebda89f ?
>>>>
>>>> Thanks a lot,
>>>> Zhihong
>>>> 2016年2月10日星期三,Martin Braun <[email protected]> 写道:
>>>>
>>>>> Which version are you running? 4ae7a6015ba719a4720f61cc6f3857de2ebda89f
>>>>> should fix this issue.
>>>>>
>>>>> Also, is this really what you want to happen? If you just call
>>>>> issue_stream_cmd() with a STOP command, it will stop, but all the data
>>>>> will still flow through the graph, instead of getting flushed.
>>>>> Especially as you are stopping and starting the flow graph.
>>>>>
>>>>> My guess is you don't really need stop() here.
>>>>>
>>>>> Cheers,
>>>>> M
>>>>>
>>>>>
>>>>> On 02/10/2016 03:07 PM, Zhihong Luo wrote:
>>>>> > Hi All,
>>>>> >
>>>>> > In the manual, it says to use issue_stream_cmd:
>>>>> >
>>>>> > After starting the flow graph, the user should call stop()
>>>>> > <
>>>>> https://gnuradio.org/doc/doxygen/classgr_1_1block.html#a0863bc16f7c84adf4cddf5d53124450e
>>>>> >on
>>>>> > this block, then issue any desired arbitrary stream_cmd_t structs to
>>>>> the
>>>>> > device
>>>>> >
>>>>> > Therefore, I tried to stop() then issue the stream command, but it
>>>>> ran
>>>>> > into segmentation fault. My code is:
>>>>> >
>>>>> >     uhd::stream_cmd_t
>>>>> > stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
>>>>> >      size_t num_requested_samples= 10000;
>>>>> >      stream_cmd.num_samps = size_t(num_requested_samples);
>>>>> >      stream_cmd.stream_now = true;
>>>>> >      stream_cmd.time_spec = uhd::time_spec_t();
>>>>> >     ...
>>>>> >     std::cout << "starting flow graph" << std::endl;
>>>>> >     tb->start();
>>>>> >     usrp_source->stop();
>>>>> >     usrp_source->issue_stream_cmd (stream_cmd);
>>>>> >
>>>>> > Even if I delete the issue_stream_cmd line, there is still a
>>>>> > segmentation fault. Can someone point out where I made a mistake?
>>>>> Thanks.
>>>>> >
>>>>> > Zhihong Luo
>>>>> >
>>>>> >
>>>>> > _______________________________________________
>>>>> > Discuss-gnuradio mailing list
>>>>> > [email protected]
>>>>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>> >
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Discuss-gnuradio mailing list
>>>>> [email protected]
>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>
>>>>
>>>> _______________________________________________
>>>> Discuss-gnuradio mailing list
>>>> [email protected]
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>
>>>>
>>>
>>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to