Control Port, Perf Mon for GRC - errors

Having some issues with Control Port and Perf Mon in GRC.

  1. Built Latest Gnuradio 3.7.2 from git.
    enabled performance counters in the cmake command line
    cmake …/ -DENABLE_PERFORMANCE_COUNTERS=On
    then successful make, install, ldconfig, and gnuradio runs fine.

  2. Edited the gnuradio-runtime-conf file to enable PerfCounters and
    ControlPort, Edges.

  3. Installed zeroc-ice (ver 3.4).

If I add both a ControlPort Complex Probe and a CtrlPort Monitor, get
the
following error:

Traceback (most recent call last):
File “home/tom//mod_phasing_test.py”, line 17, in
from gnuradio.ctrlport.monitor import *
ImportError: No module named ctrlport.monitor

If I delete the CtrlPort Monitor, leaving only the probe, I get the
following error:
Traceback (most recent call last):
File “/home/tom/mod_phasing_test.py”, line 231, in
tb = mod_phasing_test()
File “/home/tom/mod_phasing_test.py”, line 144, in init
self.blocks_ctrlport_probe_c_0 =
blocks.ctrlport_probe_c(“constellation”, “Constellation Points”)
AttributeError: ‘module’ object has no attribute ‘ctrlport_probe_c’

Are there other configuration steps needed? Does zeroc-ice need to be
configured in some manner?

– Tom, N5EG

Are you installing Ice after you build gnuradio? If so, then gnuradio
won’t enable the controlport modules during the gnuradio build because
it
doesnt detect Ice.

Tim

Thanks, Tim.

Yes - I had installed zeroc-ice after building.

Now, I removed CMakeCache.txt and redid cmake …/
-DENABLE_PERFORMANCE_COUNTERS=On
which cmaked correctly.

Now when I run make, I am getting a large number of compile errors,
enough to scroll off the terminal screen.
Here’s the tail end of the make error:

/usr/include/c++/4.8/bits/stl_tree.h:1127:23: required from ‘void
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_M_erase(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_Link_type) [with _Key = int; _Val = std::pair<const int,
IceInternal::HandleIce::Object >; _KeyOfValue =
std::_Select1st<std::pair<const int, IceInternal::HandleIce::Object >

; _Compare = std::less; _Alloc = std::allocator<std::pair<const
int, IceInternal::HandleIce::Object > >; std::_Rb_tree<_Key, _Val,
_KeyOfValue, _Compare, _Alloc>::_Link_type =
std::_Rb_tree_node<std::pair<const int, IceInternal::HandleIce::Object

]’
/usr/include/c++/4.8/bits/stl_tree.h:671:28: required from
‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree()
[with _Key = int; _Val = std::pair<const int,
IceInternal::HandleIce::Object >; _KeyOfValue =
std::_Select1st<std::pair<const int, IceInternal::HandleIce::Object >
; _Compare = std::less; _Alloc = std::allocator<std::pair<const
int, IceInternal::HandleIce::Object > >]’
/usr/include/c++/4.8/bits/stl_map.h:96:11: required from here
/usr/include/Ice/Handle.h:106:30: error: ‘upCast’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
upCast(this->_ptr)->__decRef();
^
In file included from /usr/include/Ice/Ice.h:30:0,
from
/home/tom/gnuradio/gnuradio-runtime/include/gnuradio/ice_application_base.h:33,
from
/home/tom/gnuradio/gnuradio-runtime/lib/controlport/ice_application_base.cc:23:
/usr/include/Ice/Connection.h:92:29: note: ‘Ice::LocalObject

IceInternal::upCast(Ice::UDPConnectionInfo*)’ declared here, later in
the translation unit
ICE_API ::Ice::LocalObject* upCast(::Ice::UDPConnectionInfo*);
^
make[2]: ***
[gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/controlport/ice_application_base.cc.o]
Error 1
make[1]: *** [gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/all]
Error 2
make: *** [all] Error 2


From: Tim N. [email protected]
To: Tom McDermott [email protected]
Cc: “[email protected][email protected]
Sent: Saturday, February 8, 2014 5:46 AM
Subject: Re: [Discuss-gnuradio] Control Port, Perf Mon for GRC - errors

Are you installing Ice after you build gnuradio? If so, then gnuradio
won’t enable the controlport modules during the gnuradio build because
it doesnt detect Ice.

Tim

Hi Tim, further … captured the Cmake output and make outputs, scanning
for the relevant parts…

Cmake [snip]

– package ‘Ice-3.5’ not found
– ICE 3.5 not found. Looking for 3.4

– Python checking for Ice >= 3.4
– Python checking for Ice >= 3.4 - found
– Ice-3.4 found
– Found ICE: /usr/lib/libIce.so;/usr/lib/libIceUtil.so

– Configuring gr-ctrlport support…
– Dependency Boost_FOUND = 1
– Dependency SWIG_FOUND = TRUE
– Dependency SWIG_VERSION_CHECK = TRUE
– Dependency ICE_FOUND = TRUE
– Dependency ENABLE_GNURADIO_RUNTIME = ON
– Enabling gr-ctrlport support.
– Override with -DENABLE_GR_CTRLPORT=ON/OFF

The beginning part of the make error [snip]

[ 6%] Building CXX object
gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/controlport/ice_application_base.cc.o
In file included from /usr/include/Ice/LocalObjectF.h:15:0,
from /usr/include/Ice/CommunicatorF.h:24,
from /usr/include/Ice/Initialize.h:13,
from /usr/include/Ice/Ice.h:13,
from
/home/tom/gnuradio/gnuradio-runtime/include/gnuradio/ice_application_base.h:33,
from
/home/tom/gnuradio/gnuradio-runtime/lib/controlport/ice_application_base.cc:23:
/usr/include/Ice/Handle.h: In instantiation of
‘IceInternal::Handle::Handle(T*) [with T = Ice::Communicator]’:
/usr/include/Ice/OutgoingAsync.h:49:16: required from here
/usr/include/Ice/Handle.h:66:30: error: ‘upCast’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
upCast(this->_ptr)->__incRef();
^

Don’t know if the additional information helps or not…

– Tom, N5EG


From: Tom McDermott [email protected]
To: Tim N. [email protected]
Cc: “[email protected][email protected]
Sent: Saturday, February 8, 2014 8:22 AM
Subject: Re: [Discuss-gnuradio] Control Port, Perf Mon for GRC - errors

Thanks, Tim.

Yes - I had installed zeroc-ice after building.

Now, I removed CMakeCache.txt and redid cmake …/
-DENABLE_PERFORMANCE_COUNTERS=On
which cmaked correctly.

Now when I run make, I am getting a large number of compile errors,
enough to scroll off the terminal screen.
Here’s the tail end of the make error:

/usr/include/c++/4.8/bits/stl_tree.h:1127:23: required from ‘void
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_M_erase(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_Link_type) [with _Key = int; _Val = std::pair<const int,
IceInternal::HandleIce::Object >; _KeyOfValue =
std::_Select1st<std::pair<const int, IceInternal::HandleIce::Object >

; _Compare =
std::less; _Alloc = std::allocator<std::pair<const int,
IceInternal::HandleIce::Object > >; std::_Rb_tree<_Key, _Val,
_KeyOfValue, _Compare, _Alloc>::_Link_type =
std::_Rb_tree_node<std::pair<const int, IceInternal::HandleIce::Object

]’
/usr/include/c++/4.8/bits/stl_tree.h:671:28: required from
‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree()
[with _Key = int; _Val = std::pair<const int,
IceInternal::HandleIce::Object >; _KeyOfValue =
std::_Select1st<std::pair<const int, IceInternal::HandleIce::Object >
; _Compare = std::less; _Alloc = std::allocator<std::pair<const
int, IceInternal::HandleIce::Object > >]’
/usr/include/c++/4.8/bits/stl_map.h:96:11: required from here
/usr/include/Ice/Handle.h:106:30: error: ‘upCast’ was not declared in
this scope, and no
declarations were found by argument-dependent lookup at the point of
instantiation [-fpermissive]
upCast(this->_ptr)->__decRef();
^
In file included from /usr/include/Ice/Ice.h:30:0,
from
/home/tom/gnuradio/gnuradio-runtime/include/gnuradio/ice_application_base.h:33,
from
/home/tom/gnuradio/gnuradio-runtime/lib/controlport/ice_application_base.cc:23:
/usr/include/Ice/Connection.h:92:29: note: ‘Ice::LocalObject

IceInternal::upCast(Ice::UDPConnectionInfo*)’ declared here, later in
the
translation unit
ICE_API ::Ice::LocalObject* upCast(::Ice::UDPConnectionInfo*);
^
make[2]: ***
[gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/controlport/ice_application_base.cc.o]
Error 1
make[1]: *** [gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/all]
Error 2
make: *** [all] Error 2


From: Tim N. [email protected]
To: Tom McDermott [email protected]
Cc: “[email protected][email protected]
Sent: Saturday, February 8, 2014 5:46 AM
Subject: Re: [Discuss-gnuradio] Control Port, Perf Mon for GRC - errors

Are you installing Ice after you build gnuradio? If so, then gnuradio
won’t enable the controlport modules during the gnuradio build because
it doesnt detect Ice.

Tim