[Scons-users] Trouble installing package on a supercomputer.

Kenny, Jason L jason.l.kenny at intel.com
Wed Sep 10 16:46:10 EDT 2014


Hi,

So there are a lot of details that go in to a MPI build. As I understand it the Intel MPI is based on the MPICH as well. From what I can pull out from the e-mail ( and note I am not a MPI/cluster expert .. the team next to me is, so this is more their suggestion) is that you probably are having a path issue at the moment. Since your are pulling you shell path in to the scons build, you souls check to see which mpicxx you are using. You have it hard coded in to replace the cxx with mpicxx... This is just a general mpi compiler wrapper that is not explicit to Intel or Cray versions of the compiler. It could call anything depending on your current shell environment.

So at the moment form what I understand of your setup, this is not as much a scons issues but what tools are being called in the toolchain. I am pretty sure given what you have shown so far, this would not be any different using gmake.

Jason


From: Scons-users [mailto:scons-users-bounces at scons.org] On Behalf Of Ray Sheppard
Sent: Wednesday, September 10, 2014 3:11 PM
To: SCons users mailing list
Subject: Re: [Scons-users] Trouble installing package on a supercomputer.

Thanks,
  The real problem is that there is no license file.  It keeps looking for an Intel compiler license file but we do not use Intel MPI.  I do have an Intel built OpenMPI on the cluster. So, I have tried to just get that to build.  This package seems happier (less initial errors) on the cluster than the originally requested Cray.  The package understands and uses the proper mpicc/CC, but then expects it to be Intel and need a license, which it isn't and doesn't.  I would love to just turn that off somehow.

 The Cray uses its own MPI, which is based on MPICH2. That has a license associated with it, but it has larger issues.   The Cade automatically searches for library calls in the source code and links things like MPI and various math libraries without an external compiler wrapper like mpicc  or explicit links like -llapack. That seemed to drive the build nuts in various ways.

Thanks again for the help,
   Ray

On 9/10/2014 3:16 PM, Kenny, Jason L wrote:
HI,

Looks like you are using the MPI compiler. SCons ( and my extension Parts) don't directly support the MPI compiler at the moment via a tool. From what I see below it look like you the path needed for the license to be seen by the compiler is missing.

There are two ways to fix this.


1)      Add the intelc tool to the toolchain you are using. This should setup the stuff needed to find the license file.

2)      The script you would normally run to source the path to run this compiler would add a variable INTEL_LICENSE_FILE to the shell environment. If you take this value and add it to the env["EVV"] value the compiler should work. Form below I think this added line should work.
        "overrides" : {
                    "ENV" : {
"LIBRARY_PATH":os.environ["LIBRARY_PATH"],
"LD_LIBRARY_PATH":os.environ["LD_LIBRARY_PATH"],
"CPATH":os.environ["CPATH"],
"PATH":os.environ["PATH"],
"MODULEPATH":os.environ["MODULEPATH"],
"MODULESHOME":os.environ["MODULESHOME"],
"INTEL_LICENSE_FILE": os.environ["INTEL_LICENSE_FILE"],
                }
        },




Hope this helps
Jason

From: Scons-users [mailto:scons-users-bounces at scons.org] On Behalf Of Gary Oberbrunner
Sent: Wednesday, September 10, 2014 1:48 PM
To: SCons users mailing list
Subject: Re: [Scons-users] Trouble installing package on a supercomputer.

Hi Ray; SCons itself shouldn't care about filesystems or licenses.  Most probably whatever package you're trying to use SCons to build has set things up in a way that isn't working at your site.

Your first error refers to a "site.settings" file; that's not part of SCons.  It's probably part of the software you're trying to build.  Your Environment() line looks fine to me.

Your second error, Error: A license for CCompL is not available (-76,61026,2), is I think from the Intel compiler.  Probably again your software has set itself up to build with the Intel compiler tool (which is shipped with SCons); you may need to set an env var (os.environ, or env['ENV']) to tell the compiler where your license is.  I think that env var is documented in the Intel compiler installation docs.


On Wed, Sep 10, 2014 at 2:36 PM, Ray Sheppard <rsheppar at iu.edu<mailto:rsheppar at iu.edu>> wrote:

Hello,
  I am quite lost.  If I sent this to the wrong place, I apologize.
Please direct me to the correct address. SCons seems to
believe that it has control of the various file systems and that
everything is where it expects it should be.  On a supercomputer, that
is not the case.  I gave up on the Cray entirely.  Now I am just trying
to build with Intel on a large cluster.  Using your FAQ, I tried to tell
it to import my environment with:
env = Environment(ENV = {'PATH' : path})

However, that returns:
  File "site.settings", line 23, in <module>
NameError: name 'Environment' is not defined
scons: done reading SConscript files.

Maybe I should Environment predeclared somewhere else, but I did not
see where that might be.  Also related, the SCons system seems to look
for licenses where none are needed (or exist).

scons: Building targets ...
mpiCC -o
build/src/release/linux/2.6/64/x86/icc/13.1/mpi-static/apps/public/AbinitioRelax.o
-c -Wp64 -wd279,2259,1682 -ip -O3 -Qoption,c,-ip_ninl_max_stats=500
-Qoption,c,-ip_ninl_max_total_stats=5000 -DNDEBUG -DUSEMPI
-DEXIT_THROWS_EXCEPTION -Isrc -Iexternal/include
-Isrc/platform/linux/64/icc/13.1 -Isrc/platform/linux/64/icc
-Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_46_1
-Iexternal/dbio -I/usr/include -I/usr/local/include
src/apps/public/AbinitioRelax.cc

Error: A license for CCompL is not available (-76,61026,2).

License file(s) used were (in this order):...

However, an interactive compile of that line works just fine.  I found
the Module keywords in the scinet settings, however, nothing seems to
change its mind.

My site settings have changed a lot in the past week.  Currently it
looks like this:
import os
## env = Environment(ENV = os.environ)
settings = {
    "site" : {
                    "prepends" : {
            "program_path" : os.environ["PATH"].split(":"),
#            "include_path" : os.environ["INCLUDE"].split(":"),
            "library_path" : os.environ["LD_LIBRARY_PATH"].split(":"),
        },
        "appends" : {
                                                "defines" : ["EXIT_THROWS_EXCEPTION"],
        },
        "overrides" : {
                    "ENV" : {
"LIBRARY_PATH":os.environ["LIBRARY_PATH"],
"LD_LIBRARY_PATH":os.environ["LD_LIBRARY_PATH"],
"CPATH":os.environ["CPATH"],
"PATH":os.environ["PATH"],
"MODULEPATH":os.environ["MODULEPATH"],
"MODULESHOME":os.environ["MODULESHOME"],
                }
        },
            "mpi" : {
                    "overrides" : {
                                "cxx"           : "mpicxx"
                                        },
                                            },

        "removes" : {
        },
    },
}

Hopefully, y'all see something simple a newbie like me is missing.
 Does this system have a place where the package developers must put a
target dependency file?  If I could find it, I am beginning to think
it would be easier to strip it out and just build the package with gmake.
Thanks.
                    Ray


--
                         Respectfully,
                           Ray Sheppard
                           RSheppar at iu.edu<mailto:RSheppar at iu.edu>
                           http://rt.uits.iu.edu/systems/SciAPT
                           317-274-0016<tel:317-274-0016>

                   Principal Analyst
                   Senior Technical Lead
                   Scientific Applications and Performance Tuning
                   Research Technologies
                   University Information Technological Services
                   IUPUI campus
                   Indiana University

   My "pithy" saying:  Science is the art of translating the world
       into language. Unfortunately, that language is mathematics.
   Bumper sticker wisdom: Make it idiot-proof and they will make a
       better idiot.



_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users



--
Gary




_______________________________________________

Scons-users mailing list

Scons-users at scons.org<mailto:Scons-users at scons.org>

https://pairlist4.pair.net/mailman/listinfo/scons-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20140910/6e9b8faa/attachment-0001.html>


More information about the Scons-users mailing list