# GR 3.7.2.1 on OSX 10.8 (Mountain Lion)

**URL:** <https://www.ruby-forum.com/t/gr-3-7-2-1-on-osx-10-8-mountain-lion/240219>\
**Category:** GNU Radio\
**Created:** [April 2, 2014, 8:15pm UTC](https://www.ruby-forum.com/t/gr-3-7-2-1-on-osx-10-8-mountain-lion/240219 "2014-04-02T20:15:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [April 2, 2014, 8:15pm UTC](https://www.ruby-forum.com/t/gr-3-7-2-1-on-osx-10-8-mountain-lion/240219/1 "2014-04-02T20:15:14Z")

</div>

Hi Michael,

A short while ago, I installed 3.7.2.1 from your macports  
implementation. The install went without trouble, and  
I’ve been composing and running flowgraphs from GRC  
with no issues.

I recently tried to port one of my custom blocks up to  
the 3.7 api, and I encountered problems. In order  
to try and eliminate as much as possible, I tried creating  
a new gr-howto module, as per the tutorial. It succeeds  
the cmake but fails make during the link stage.

# The first few errors emitted are

[5%] Building CXX object  
lib/CMakeFiles/gnuradio-howto.dir/square\_ff\_impl.cc.o  
Linking CXX shared library libgnuradio-howto.dylib  
Undefined symbols for architecture x86\_64:  
“pmt::dict\_has\_key(boost::intrusive\_ptrpmt::pmt\_base const&,  
boost::intrusive\_ptrpmt::pmt\_base const&)”, referenced from:

gr::basic\_block::has\_msg\_port(boost::intrusive\_ptrpmt::pmt\_base) in  
square\_ff\_impl.cc.o  
“pmt::intrusive\_ptr\_add\_ref(pmt::pmt\_base\*)”, referenced from:

gr::basic\_block::dispatch\_msg(boost::intrusive\_ptrpmt::pmt\_base,  
boost::intrusive\_ptrpmt::pmt\_base) in square\_ff\_impl.cc.o  
std::map\<boost::intrusive\_ptrpmt::pmt\_base,  
boost::function\<void (boost::intrusive\_ptrpmt::pmt\_base)\>,  
pmt::comparator,  
std::allocator\<std::pair\<boost::intrusive\_ptrpmt::pmt\_base const,  
boost::function\<void (boost::intrusive\_ptrpmt::pmt\_base)\> \> \>

> ::operator[](boost::intrusive\_ptrpmt::pmt\_base const&) in  
> square\_ff\_impl.cc.o  
> …  
> ====================

It would seem to be a boost problem. Port shows me as  
having boost 1.55.0 installed.

The same exact module makes fine on a different system  
running 3.7.2.1 under Ubuntu 12.04lts.

Any ideas? Thanks!

@(^.^)@ Ed

---

<div class="post-metadata">

**Author:** ![Ed\_Criscuolo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ac8455/32.png) [@Ed\_Criscuolo](https://www.ruby-forum.com/u/Ed_Criscuolo)\
**Post date:** [April 2, 2014, 9:06pm UTC](https://www.ruby-forum.com/t/gr-3-7-2-1-on-osx-10-8-mountain-lion/240219/2 "2014-04-02T21:06:37Z")

</div>

Hi Ed - I’m glad to hear that GNU Radio 3.7.2.1 installed without issues  
using MacPorts for you. 3.7.3 was released not long ago, and contains  
some nice fixes – especially for audio on OSX. You can  
{{{  
sudo port selfupdate  
sudo port upgrade outdated  
}}}  
to get it (and, everything else that’s been updated since then).

Given the link error, it looks like PMT is not being included in the  
link. I think this is still an issue on OSX, looking at the current  
gr-newmod/CMakeLists.txt file. You’ll want to change line 93 from:  
{{{  
set(GR\_REQUIRED\_COMPONENTS RUNTIME)  
}}}  
to  
{{{  
set(GR\_REQUIRED\_COMPONENTS RUNTIME PMT)  
}}}  
and, that might do the trick. Hopefully that’s it. Obviously, if you  
need any other GR components you’ll need them on this line too. But,  
PMT is generally required along with RUNTIME when building on OSX (this  
is not the case for most/all Linux).

Let me know if this works for you, and I’ll figure out a way to add it  
into that file appropriately. - MLD
