Sunday, July 6, 2014

Re: [Discuss-gnuradio] Build OOT gr-test2

Hi Bill,

> cmake seems to work (after I change boost version to 1.55 in CMakeLists.txt)
Um, I don't think it should be necessary to do that; the line
find_package(Boost "1.35" COMPONENTS filesystem system)
is in the new-OOT-Module template and I think it's for compatibility reasons; it works on my Boost 1.53 machine.

I *assume* that activecat's module should build fine, it does on my computer (however, activecat, remove the build folder from git; that shouldn't be included ;) ).

So, my hints would be: empty the build directory, cmake .. && make again; make sure you have a recent GNU Radio version (gnuradio-config-info -v should give something quite recent)

Greetings,
Marcus


On 06.07.2014 06:51, Bill Dailey wrote:
Ok.. building my first OOT to play with his counter.    git clone git://github.com/activecat/gr-test2    cmake seems to work (after I change boost version to 1.55 in CMakeLists.txt)    on make i get this error.  Searching the net leads me to believe it isnt  linking pmt but I can't decipher the solution.  I thought maybe the move  from 3-6 to 3-7 was the issue but it appears to be set up as recommended  http://gnuradio.org/redmine/projects/gnuradio/wiki/Move_3-6_to_3-7    I am not great with Builds but I have precariously gotten things done.  (recipes and searching) Any tips?    bills-MacBook-Pro:build willy$ build  -bash: build: command not found  bills-MacBook-Pro:build willy$ make  Scanning dependencies of target gnuradio-test1  [  5%] Building CXX object  lib/CMakeFiles/gnuradio-test1.dir/pulse1_impl.cc.o  [ 10%] Building CXX object  lib/CMakeFiles/gnuradio-test1.dir/freq_counter2_impl.cc.o  [ 15%] Building CXX object  lib/CMakeFiles/gnuradio-test1.dir/freq_counter1_impl.cc.o  [ 20%] Building CXX object  lib/CMakeFiles/gnuradio-test1.dir/streamer1_impl.cc.o  Linking CXX shared library libgnuradio-test1.dylib  Undefined symbols for architecture x86_64:    "pmt::dict_has_key(boost::intrusive_ptr<pmt::pmt_base> const&,  boost::intrusive_ptr<pmt::pmt_base> const&)", referenced from:        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  pulse1_impl.cc.o        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  freq_counter2_impl.cc.o        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  freq_counter1_impl.cc.o        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  streamer1_impl.cc.o    "pmt::intrusive_ptr_add_ref(pmt::pmt_base*)", referenced from:        gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in pulse1_impl.cc.o        std::__1::map<boost::intrusive_ptr<pmt::pmt_base>,  boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)>,  pmt::comparator,  std::__1::allocator<std::__1::pair<boost::intrusive_ptr<pmt::pmt_base>  const, boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)> > >  
::operator[](boost::intrusive_ptr<pmt::pmt_base> const&) in  
pulse1_impl.cc.o        boost::function1<void, boost::intrusive_ptr<pmt::pmt_base>  
::operator()(boost::intrusive_ptr<pmt::pmt_base>) const in pulse1_impl.cc.o  
      gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in freq_counter2_impl.cc.o        std::__1::map<boost::intrusive_ptr<pmt::pmt_base>,  boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)>,  pmt::comparator,  std::__1::allocator<std::__1::pair<boost::intrusive_ptr<pmt::pmt_base>  const, boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)> > >  
::operator[](boost::intrusive_ptr<pmt::pmt_base> const&) in  
freq_counter2_impl.cc.o        boost::function1<void, boost::intrusive_ptr<pmt::pmt_base>  
::operator()(boost::intrusive_ptr<pmt::pmt_base>) const in  
freq_counter2_impl.cc.o        gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in freq_counter1_impl.cc.o        ...    "pmt::intrusive_ptr_release(pmt::pmt_base*)", referenced from:        gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in pulse1_impl.cc.o        boost::function1<void, boost::intrusive_ptr<pmt::pmt_base>  
::operator()(boost::intrusive_ptr<pmt::pmt_base>) const in pulse1_impl.cc.o  
      gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in freq_counter2_impl.cc.o        boost::function1<void, boost::intrusive_ptr<pmt::pmt_base>  
::operator()(boost::intrusive_ptr<pmt::pmt_base>) const in  
freq_counter2_impl.cc.o        gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in freq_counter1_impl.cc.o        boost::function1<void, boost::intrusive_ptr<pmt::pmt_base>  
::operator()(boost::intrusive_ptr<pmt::pmt_base>) const in  
freq_counter1_impl.cc.o        gr::basic_block::dispatch_msg(boost::intrusive_ptr<pmt::pmt_base>,  boost::intrusive_ptr<pmt::pmt_base>) in streamer1_impl.cc.o        ...    "pmt::eqv(boost::intrusive_ptr<pmt::pmt_base> const&,  boost::intrusive_ptr<pmt::pmt_base> const&)", referenced from:        gr::basic_block::has_msg_handler(boost::intrusive_ptr<pmt::pmt_base>)  in pulse1_impl.cc.o        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  pulse1_impl.cc.o        std::__1::map<boost::intrusive_ptr<pmt::pmt_base>,  boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)>,  pmt::comparator,  std::__1::allocator<std::__1::pair<boost::intrusive_ptr<pmt::pmt_base>  const, boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)> > >  
::operator[](boost::intrusive_ptr<pmt::pmt_base> const&) in  
pulse1_impl.cc.o        gr::basic_block::has_msg_handler(boost::intrusive_ptr<pmt::pmt_base>)  in freq_counter2_impl.cc.o        gr::basic_block::has_msg_port(boost::intrusive_ptr<pmt::pmt_base>) in  freq_counter2_impl.cc.o        std::__1::map<boost::intrusive_ptr<pmt::pmt_base>,  boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)>,  pmt::comparator,  std::__1::allocator<std::__1::pair<boost::intrusive_ptr<pmt::pmt_base>  const, boost::function<void (boost::intrusive_ptr<pmt::pmt_base>)> > >  
::operator[](boost::intrusive_ptr<pmt::pmt_base> const&) in  
freq_counter2_impl.cc.o        gr::basic_block::has_msg_handler(boost::intrusive_ptr<pmt::pmt_base>)  in freq_counter1_impl.cc.o        ...  ld: symbol(s) not found for architecture x86_64  clang: error: linker command failed with exit code 1 (use -v to see  invocation)  make[2]: *** [lib/libgnuradio-test1.dylib] Error 1  make[1]: *** [lib/CMakeFiles/gnuradio-test1.dir/all] Error 2  make: *** [all] Error 2      


_______________________________________________  Discuss-gnuradio mailing list  Discuss-gnuradio@gnu.org  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio  

No comments:

Post a Comment