Software Archive
Read-only legacy content
17061 Discussions

icc with cilk not working (library won't load)

BradleyKuszmaul
Beginner
416 Views
I'm having trouble with icc using cilk.
This trouble is with icc as shown below:

$ icc --version

icc (ICC) 12.0.0 20101006

Copyright (C) 1985-2010 Intel Corporation. All rights reserved.

I wrote a simple program (fib.c), which is attached.

I compiled as

$ icc fib.c -o fib

Then I tried to run and got:

$ ./fib

./fib: error while loading shared libraries: /home/bradley/intel/composerxe-2011.0.084/compiler/lib/intel64/li\\

bcilkrts.so.5: cannot restore segment prot after reloc: Permission denied

It works OK with an older runtime:

$ LD_LIBRARY_PATH=/opt/intel/compilerpro-12.0.0.025/compiler/lib/intel64 ./fib 5

fib 5=5

and it even gets speedup.

Any ideas what I've done wrong?

0 Kudos
5 Replies
Lingfeng_C_Intel
Employee
416 Views
Thanks Bradley,

I tried to reproduce your case here, but I didn't find error like what you said above. See below output:

[wchen18@dpd26 ~]$ LD_LIBRARY_PATH=/opt/spdtools/compiler/cpro/Compiler/12.0/084/composerxe-2011.0.084/compiler/lib/intel64 ./fib 5
fib 5=5
[wchen18@dpd26 ~]$

Could you check your environment again?

Thanks,
Wise
0 Kudos
Brandon_H_Intel
Employee
416 Views

Based on the error message, I suspect that SELinux* has a problem with the runtime shared object. Is it possible to try setting SELinux to permissive and see if that allows the library to load? I'm working on try to reproduce here.

0 Kudos
Brandon_H_Intel
Employee
416 Views

OK, I have a system set with SELinux on "targeted" settings, and it works.

[cilk]$ icc -V fib.c -o fib

Intel C Intel 64 Compiler XE for applications running on Intel 64, Version 12.0.0.084 Build 20101006

Copyright (C) 1985-2010 Intel Corporation. All rights reserved.

Edison Design Group C/C++ Front End, version 4.1 (Oct 6 2010 18:42:54)

Copyright 1988-2009 Edison Design Group, Inc.

GNU ld version 2.17.50.0.6-5.el5 20061020

[cilk]$ ./fib 5

fib 5=5


I can't do "strict" on the lab machines because it does weird things with the network. If changing the SELinux setting on your system works, maybe I can work with you to get the specific system settings to try to reproduce.

0 Kudos
BradleyKuszmaul
Beginner
416 Views
I downloaded again, and this time it worked (on a different machine). Perhaps I got a bad binary. Or perhaps the wrong binary (or maybe something is wrong with the 64-bit-only version, or maybe it's selinux.)
I don't understand why selinux is involved, however. When I install as follows, everything seems to work (on a recent fedora release).
sudo skip_selinux_check=yes ./install.sh

What's up with selinux and icc anyway?
-Bradley
0 Kudos
Brandon_H_Intel
Employee
416 Views
There are known issues with the installation and selinux which are release noted. However, this shouldn't affect your use of icc as you initially reported the error. If you still have the system where you can get the error with icc, can you try changing your selinux settings and then rerunning icc and see if that fixes it? If it does, I suspect a problem with the Cilk Plus runtime.
0 Kudos
Reply