Token Issue with Intel's MKL and Boost 1.35

Brad Howes howes at ll.mit.edu
Fri Jul 11 14:33:09 UTC 2008


We've been running fine with VSIPL++ 1.4 until recently when I tried  
to install our software with the latest versions of Boost. I was  
getting bizarre compile failures in some esoteric Boost includes that  
I traced all the way to vsip/opt/lapack/bindings.hpp where it includes  
mkl_cblas.h (when configured to use Intel's MKL). After that include  
(line 90), the symbol 'P4' is defined as '2' along with some other  
preprocessor contamination. Unfortunately, Boost has some templates  
that have a 'P4' template argument, which makes the compiler barf  
after the token substitution. I filed a bug report with Boost alerting  
them of the problem, and suggesting that perhaps they should uglify  
their names. Even better would be to have Intel stop polluting the  
token space. However, I'm not sure how much traction I'll get there.  
So, I thought I'd raise the issue with you all here, to see if there  
is something that can be done within VSIPL++ to keep this from  
happening in the future (I patched my installation by undef'ing P4  
after including mkl_cblas.h).

Regards,

Brad

-- 
Brad Howes
Group 42
MIT Lincoln Laboratory • 244 Wood St. • Lexington, MA 02173
Phone: 781.981.5292 • Fax: 781.981.3495 • Secretary: 781.981.7420







More information about the vsipl++ mailing list