The file sp_counted_base.hpp checks a bunch of macros to determine which architecture-specific include file to use. One of those checks is: #elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) ) I'm using VxWorks 6.5. Their version of gcc defines __ppc but not __ppc__. This is some of the output from "ccppc -dD -E emptyfile.cpp": #define __GNUC__ 3 #define _ARCH_PPC 1 #define __ppc 1 #define CPU_FAMILY PPC #define CPU PPC604 #define __vxworks 1 #define __VXWORKS__ 1 If the sp_counted_base.hpp check was written like this: #elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) ) Then I would see the correct file get included. Is this a change that should be made to the boost source or do you feel it is a problem with my compiler? Regards, -Dan