I am getting make check failures in usrp/host/lib/inband on Cygwin (see
below). This happens with the latest trunk as well as with earlier
revisions of the trunk. Is this a reflection of work in progress or
should
this be working?
If this should work and only fails on Cygwin, I will to try to chase it
down, but any hints on where to start would be appreciated.
These pass on unix machines, I’ve never tried running any of the inband
stuff in cygwin… but I don’t see how it would change. If the mblock
QA code passes, I would expect the inband QA code to pass in cygwin.
It’s simply utilizing m-blocks.
Can you go to the ‘mblock’ directory and run a ‘make check’ ?
In short, nothing will be affected by inband failing to pass a check at
the current point in time if you’re not using any of the inband code…
which I don’t think anyone else in the world other than developers are.
These pass on unix machines, I’ve never tried running any of the inband
stuff in cygwin… but I don’t see how it would change. If the mblock QA
code passes, I would expect the inband QA code to pass in cygwin. It’s
simply utilizing m-blocks.
Can you go to the ‘mblock’ directory and run a ‘make check’ ?
Yes, make check works in the mblock directory.
In short, nothing will be affected by inband failing to pass a check at
the current point in time if you’re not using any of the inband code…
which I don’t think anyone else in the world other than developers are.
Ok. The only thing I lose is ‘make check’ on everything after inband.
I have found what is happening: It appears (to the linker, at least)
that
test_inband.exe depends on libusrp_inband-qa.dll but not on
libusrp_inband.dll. But the code to initialize s_ALL_PROTOCOL_CLASSES
(in
mb_protocol_class.cc) is contained in usrp_{server,interface}_mbh.cc
which
is in libusrp_inband.dll. Since libusrp_inband.dll is not used (as far
as
the linker can determine) by test_inband.exe, s_ALL_PROTOCOL_CLASSES is
never initialized. The “uncaught exception of type mbe_mblock_failed”
is a
result (I don’t understand how) of the ‘throw’ on line 40 of mb_port.cc
(after mb_protocol_class_lookup failed).
Somehow we need to be sure that any code that relies on initializations
performed in libusrp_inband.dll actually references libusrp_inband.dll
in a
way that the linker can recognize.
Note that adding $(BUILT_SOURCES) to libusrp_inband_la_SOURCES helps but
is
not enough—apparently there is something else in libusrp_inband.dll
that
is needed.
– Don W.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.