I couldn't find any reference to this in the mailing list archives, so I apologize if this is a rehash. Synopsis: I'm experiencing a problem when I try to any_cast a value of an enumeration type while inside code that's part of a dynamically loaded library. I have one library that defines an enumeration. I have an application that packages up a value of this enumeration type into a boost::any. The application then dynamically loads yet another library and passes this any to a function in the newly loaded library. However, when the code in the DL library tries to any_cast the enumeration value out of the any, I receive a bad_any_cast exception. I've instrumented the any_cast code and have verified that the type_info.name() strings for both the stored and requested types are the same. However, the operator== for the type_info's is still returning false. As far as I know, type_info comparison across dynamically loaded libraries should work as long as operator== is used. Does anyone have any idea if this is a compiler issue (as I think it is)? Has anyone else experienced this kind of issue? Here's some system info that may be relevant: g++ 4.1.0 linux 2.6.16.13-4-smp (SuSE 10's default kernel) boost 1.32.0 binutils 2.16.91.0.5-18 -- Austin Bingham