ComponentInterface2 is trying to store pointers as "unsigned int". There is no guarantee that a 64-bit pointer will fit into an unsigned, and in fact newer versions of g++ on Linux generate code that will fail as a result. (These failures may not be highly apparent, as they occur when components are deleted at the end of a simulation.)