Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

ICC for new Fedora 14

qtl
Beginner
356 Views
I upgraded my desktop to Fedora 14 today. Then my programs written for icc can not run.
  1. programs with #include can't be compiled by icc, g++ is fine
    solution: copy old version of iomanip to local directory, and change code to #include"iomanip"
  2. programs are not allowed to run MKL libraries.
    solution: $chcon -t execmem_exec_t a.out
These are just some temporary solutions. It's tedious to do this everytime. I wonder if there's some better solutions.
0 Kudos
4 Replies
KitturGanesh
Employee
356 Views
Hi,

No, we don'tofficially support FC14 yet as it's just released this week. But in general,the problems would be with the newer gcc version and orheader files etc.

If you can attach a specific test case or if you wantus to look into certain specific issues to resolve, please do so and I can pass it on to our developers so they can suggest workarounds etc. Basically, they will need specifics of the issues.

Also, I'll let you know as soon as the release with official support for FC14 is out.

_Cheers,
Kittur

0 Kudos
qtl
Beginner
356 Views
==============================1st problem==============================
The codes can be as simple as below:
[cpp]#include
#include
using namespace std;
int main(int argc, char*argv[])
{
  cout< then compile it with icc got the followint results
/usr/include/c++/4.5.1/iomanip(64): error: expected an expression
{ return { __mask }; }
^

/usr/include/c++/4.5.1/iomanip(94): error: expected an expression
{ return { __mask }; }
^

/usr/include/c++/4.5.1/iomanip(125): error: expected an expression
{ return { __base }; }
^

/usr/include/c++/4.5.1/iomanip(193): error: expected an expression
{ return { __n }; }
^

/usr/include/c++/4.5.1/iomanip(223): error: expected an expression
{ return { __n }; }
^

compilation aborted for t.cpp (code 2)

==============================2nd problem==============================
[cpp]#include
#include
#include
using namespace std;

int main(int argc, char *argv[])
{
  if(argc==1) return 1;
  int dim(atoi(argv[1]));
  if(dim<10)  return 2;
  int len(dim*dim);
  double *ori, *inv, *work;
  int    *ipiv, lwork(dim*64);
  int    i, j, seed(777), incx(1), incy(1), info;

  VSLStreamStatePtr stream;
  vslNewStream(&stream, VSL_BRNG_MT19937, seed);

  ori =new double[len];
  inv =new double[len];
  work=new double[lwork];
  ipiv=new int[dim];

  vdRngUniform(VSL_METHOD_DUNIFORM_STD, stream, len, inv, 0., 1.);
  dcopy(&len, inv, &incx, ori, &incy);  //backup the matrix

  dgetrf(&dim, &dim, inv, &dim, ipiv, &info);
  dgetri(&dim, inv, &dim, ipiv, work, &lwork, &info);
  cout< Once compiled:

*** libmkl_mc.so *** failed with error : libmkl_mc.so: cannot enable executable stack as shared object requires: Permission denied
*** libmkl_def.so *** failed with error : libmkl_def.so: cannot enable executable stack as shared object requires: Permission denied
MKL FATAL ERROR: Cannot load neither libmkl_mc.so nor libmkl_def.so
0 Kudos
TimP
Honored Contributor III
356 Views
This subject has already been discussed at excessive length in this thread. Maybe you could wait 2 or 3 weeks to see whether the compiler update pans out.
0 Kudos
KitturGanesh
Employee
356 Views
Thanks Tim for the pointer on the thread with similar discussion and letting him know that this needs to be tested out with the next release

-regards,
Kittur
0 Kudos
Reply