From: Pacey, M. <m....@la...> - 2013-01-24 16:39:18
|
Caveat: As I'm not a C++ programmer, I'm not able to diagnose exactly what's causing the error, but as the messages point to blitz/array/asexpr.h this mailing list seems the best place to start looking for advice. I've been asked by one of my users for help installing a piece a software calling itself SDW which has several dependencies including boost and blitz. I'm attempting to get this compiled using the Intel compiler suite - mostly because it will integrate nicely with the built-in Math Kernel Library. All the dependent libraries including boost and blitz seem to build fine under Intel (I'm using 12.1). When I attempt to build the main app, though, I get an error message from within a blitz header: ===== % icpc -O2 -xHOST -fp-model strict -Wall -I/usr/shared_apps/packages/blitz-0.10-intel/include -I/usr/shared_apps/packages/boost-1.52.0-intel/include -I/usr/shared_apps/packages/gsl-1.15-intel/include -c -o solver.o solver.cc /usr/shared_apps/packages/blitz-0.10-intel/include/blitz/array/asexpr.h(257): error: expected a "," or ">" template <template <typename T1, typename T2> class RED, int N, typename O1, ^ /usr/shared_apps/packages/blitz-0.10-intel/include/blitz/array/asexpr.h(264): error: expected a type specifier RED<typename asExpr<O1>::T_expr::T_optype, P_result> ^ /usr/shared_apps/packages/blitz-0.10-intel/include/blitz/array/asexpr.h(264): error: too many arguments for class template "blitz::_bz_ArrayExprReduce" RED<typename asExpr<O1>::T_expr::T_optype, P_result> ^ /usr/shared_apps/packages/blitz-0.10-intel/include/blitz/array/asexpr.h(265): error: expected an identifier > > T_result; ^ compilation aborted for solver.cc (code 2) ===== I checked the offending lines in both the install directory and the original build dir - it looks like the offending line comes directly from the blitz tarfile, and isn't modified in any way during the blitz build process. My C++ isn't good enough to work out what exactly is wrong here - compiler bug, bad build of one of the dependent libraries? My hope was that it was simply using a different C++ standard, so I cycled through all icpc's possible "-std" flag options with no joy. I also switched to Intel compiler version 13, but the errors are the same. Any suggestions on how to proceed appreciated. Regards, Mike. ----- Dr Mike Pacey, Email: M....@la... HPC Manager, Phone: 01524 510659 Information Systems Services, Fax: 01524 594459 ISS Building, Lancaster University, Lancaster LA1 4WA |