You are here

3.2 and Intel Compilers 12.0

7 posts / 0 new
Last post
3.2 and Intel Compilers 12.0
#1

It looks like there is some buggy interaction between Rosetta, Scons and the latest version of the Intel compilers.

I edited tools/build/options.settings to enable the 12.0 compiler version and tools/build/user.settings to find the Intel compilers and the error looks like this:


$ ./scons.py bin mode=release cxx=icc extras=static tatic
scons: Reading SConscript files ...
svn: '.' is not a working copy
scons: done reading SConscript files.
scons: Building targets ...
icpc -o build/src/release/linux/2.6/32/x86/icc/static/apps/public/AbinitioRelax.o -c -Wp64 -wd279 -ip -O3 -Qoption,c,-ip_ninl_max_stats=500 -Qoption,c,-ip_ninl_max_total_stats=5000 -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/icc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_38_0 -I/usr/local/include -I/usr/include src/apps/public/AbinitioRelax.cc
icpc: error #10310: Failed to enable trusted storage check for licensing: WARNING: Enable Trusted Storage failed (flexnet error code 2). Trusted Storage based license could not be supported
scons: *** [build/src/release/linux/2.6/32/x86/icc/static/apps/public/AbinitioRelax.o] Error 1
scons: building terminated because of errors.

So it's printing out that it's a licensing issue, but if I run the icpc command line by itself it completes with a few warnings. And I can compile hello_world.cc find in the same shell, so I'm pretty sure there's some unhappy interaction between Rosetta, Scons and the environment that the compiler wants to validate its licenses.

I grabbed the latest Scons-local and tried with that as well, but it results in the same error.

Post Situation: 
Fri, 2011-01-28 08:24
bene

Bah. I initially pasted the wrong error message and didn't realize I could edit the original post.

Fri, 2011-01-28 08:33
bene

oops - I replied in the interim.

Those changes MIGHT fix your licensing issue, but it might not. I have failed to resolve a similar situation in the past (and thus still use GCC on that particular cluster). You may need to talk to your sysadmin...

Fri, 2011-01-28 08:37
smlewis

This is an issue with SCons not seeing the same environment as you see, as you correctly surmise.

Try substituting the file tools/build/site.settings.topsail for site.settings. The topsail modifications (for a cluster named topsail) are designed to more closely align the SCons environment and local environments for exactly this problem.

Let me know if that fails...

Fri, 2011-01-28 08:35
smlewis

It hit the same error with the site.settings.topsail. That "flexnet error code 2" might be related to library issues for the license validation code. I have seen references to bad/missing libraries generating that error for various FlexLM licensed packages while Googling. That's not the error that is generated for a missing license file, so I don't think we're losing the INTEL_LICENSE_FILE setting.

I poked around in external/scons-local/scons-local-0.98.5/SCons/Tool/intelc.py but nothing jumped out at me as obviously broken.

Fri, 2011-01-28 09:46
bene

Heh, I am my sysadmin. :-)

Anyway, there is a hackish way around this that I just tested as working.

Instead of trying to passthrough the compiler settings from the environment, have the compiler settings enabled every time the compiler binaries are called. E.g.:

$ cat ~/bin/icc
#!/bin/bash
source /build/compilers/linux/intel-12/bin/iccvars.sh ia32
icc "$@"

Create one for icpc as well, export PATH=~/bin:$PATH and then run scons and it works.

I am in the middle of 32 and 64 bit builds with version 11.1 of the Intel Compilers, so I don't know if Rosetta will actually compile with 3.2 or if there are any advantages at all.

As an aside, are the Intel Compilers supported on OS X Intel? It doesn't look like it, since the build ignored by calls for icc and is using gcc instead, but maybe I goofed something.

Thanks for your assistance.

Fri, 2011-01-28 09:52
bene

For ICC on linux: glad you got it working (assuming it finishes building and, in fact, works)! I'll see if I can get it working on our cluster (where I am not the sysadmin).

For intel compilers on OSX: I replied in the other thread. It's unsupported in that nobody's ever tried it, but there's no reason it shouldn't be doable. SCons isn't set up for it, but scons can be modified.

Fri, 2011-01-28 14:17
smlewis