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