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

Damien damien at khubla.com
Wed Sep 10 17:18:47 EDT 2014


Ray,

Depending on which version of MPI you're using, mpicc has different ways 
of telling you exactly what it's trying to call.

First, type "which mpiCC" if you're calling mpiCC or "which mpicc" if 
it's all lower-case.  That will tell you which MPI compiler wrapper 
you're using at your command prompt.  That will tell you a lot.

Next, try "mpicc -show".  If that works, you have a MPICH derivative 
(almost everything except OpenMPI).  It will tell you which compiler 
it's actually calling.  Try also "mpicc --showme" which is the OpenMPI 
wrapper, if "mpicc -show" doesn't work.

You might be really surprised at what you're actually calling.  This 
bites lots of people with multiple MPI installations.  When I build MPI 
software with SCons I don't use the mpixx wrappers, I specify exactly 
what I want in the SConstruct or SConscript and put the full paths and 
link libraries in there as well so I know what I'm using.

Damien

On 2014-09-10 2:46 PM, Kenny, Jason L wrote:
>
> 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
>
>
>
> _______________________________________________
> Scons-users mailing list
> 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/769d4aa6/attachment-0001.html>


More information about the Scons-users mailing list