The problem was with the debug message printing functions, which could not take a boost smart pointer directly as an argument. Perhaps they could earlier. If you try to compile the code with debug enabled, gcc will complain during compilation at 3 lines in the code that the call will fail. Adding .get() to those references, for example, fixes everything.