In fact the fix is relatively simple, and will hopefully be in the next release (meantime, please find attached a small patch). The real question is why this inheritance structure was like this in the first place. Here's the PR rational:
class tlm_put_get_imp <class1, class2> inherits private virtual from tlm_put_if<class1>, and tlm_get_peek_if<class2>
tlm_put_if and tlm_get_peek_if are compounded class that are interfaces, which means that they (and their parents) have only pure virtual methods
but these must be implemented because they are pure, so are they in tlm_put_get_imp, as publicmethods.
So there is no point in the private inheritance.
(Special thanks to Luc Michel from GreenSocs who helped sort this out)