[Scons-users] [EXTERNAL] Re: Adding support for Intel compilers

Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] daniel.s.kokron at nasa.gov
Wed Jun 23 20:37:55 EDT 2021


Bill,
Changing how the Environment is set in SConstruct didn’t change the failure mode.  SCons still doesn’t know how to compile a file with a .cpp extension.

env = Environment (tools=[], ENV = environ)
env['CC'] = cc
env['CFLAGS'] = cflags
env['CPPDEFINES'] = defines
env['CPPPATH'] = cpppath
env['CXX'] = cxx
env['CXXFLAGS'] = cxxflags
env['FORTRANFLAGS'] = fortranflags
env['FORTRAN'] = f90
env['FORTRANLIBS'] = libs_fortran
env['FORTRANPATH'] = fortranpath
env['LIBPATH'] = libpath
env['LINKFLAGS'] = linkflags

env.Tool('intelc')
env.Tool('ilink')
env.Tool('ifort')
env.Tool('ar')
env.Tool('as')


From: Scons-users <scons-users-bounces at scons.org> on behalf of Bill Deegan <bill at baddogconsulting.com>
Reply-To: SCons users mailing list <scons-users at scons.org>
Date: Wednesday, June 23, 2021 at 6:30 PM
To: SCons users mailing list <scons-users at scons.org>
Subject: Re: [Scons-users] [EXTERNAL] Re: Adding support for Intel compilers

I'd change:

env = Environment (
    CC = cc,
    CFLAGS = cflags,
    CPPDEFINES = defines,
    CPPPATH = cpppath,
    CXX = cxx,
    CXXFLAGS = cxxflags,
    ENV = environ,
    FORTRANFLAGS = fortranflags,
    FORTRAN = f90,
    FORTRANLIBS = libs_fortran,
    FORTRANPATH = fortranpath,
    LIBPATH = libpath,
    LINKFLAGS = linkflags )
to:
env = Environment (tools=[], ENV = environ)


then set each of these via env['VARNAME'] = value.
CC = cc,
CFLAGS = cflags,
CPPDEFINES = defines,
CPPPATH = cpppath,
CXX = cxx,
CXXFLAGS = cxxflags,
ENV = environ,
FORTRANFLAGS = fortranflags,
FORTRAN = f90,
FORTRANLIBS = libs_fortran,
FORTRANPATH = fortranpath,
LIBPATH = libpath,
LINKFLAGS = linkflags

Then

env.Tool('intelc')
env.Tool('ilink')
env.Tool('ifort')
env.Tool('ar')
env.Tool('gas')


What's your shell's PATH set to?
Is gcc installed?
Which os/platform/distro?

-Bill
Discord server might be helpful for more interactive interaction..

On Wed, Jun23, 2021 at 4:15 PM Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>> wrote:
I don’t see, from what I can see at the moment, anything loading the intelc.py tool. It looks like you are loading the default tools which I believe will try to load gcc.py tool and then the logic here is to override the CC, CXX for the compiler you want to be used.

Jason

Sent from Mail<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=04%7C01%7Cdaniel.s.kokron%40nasa.gov%7C7fb8eb811220429ab17608d9369ee992%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C637600878417059160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=I3qojjBxB5vUNx0a63JDPok%2Fqb4V6IPrffeEEu5rEEE%3D&reserved=0> for Windows 10

From: Jason Kenny<mailto:dragon512 at live.com>
Sent: Wednesday, June 23, 2021 6:02 PM
To: SCons users mailing list<mailto:scons-users at scons.org>
Subject: Re: [Scons-users] [EXTERNAL] Re: Adding support for Intel compilers

Can you resent config/pleiades_intel.py as .txt file.. it is being removed as a possible malicious script.

Also to ask Bill Deegan question. Is this based on https://github.com/enzo-project/enzo-e<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fenzo-project%2Fenzo-e&data=04%7C01%7Cdaniel.s.kokron%40nasa.gov%7C7fb8eb811220429ab17608d9369ee992%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C637600878417059160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=o3c3axnccy8FGz31Lkml4xuEE1MwCKwpkRji0kY%2BGtI%3D&reserved=0>??

Jason

From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> On Behalf Of Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] via Scons-users
Sent: Wednesday, June 23, 2021 5:56 PM
To: SCons users mailing list <scons-users at scons.org<mailto:scons-users at scons.org>>
Cc: Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] <daniel.s.kokron at nasa.gov<mailto:daniel.s.kokron at nasa.gov>>
Subject: Re: [Scons-users] [EXTERNAL] Re: Adding support for Intel compilers

Jason,
I think I see what you are after.

The SConstruct file in the enzo-e tree includes the following (see attached)

elif (arch == "pleiades_intel"): from pleiades_intel import *

config/pleiades_intel.py is attached.

env = Environment (
     CC           = cc,
     CFLAGS       = cflags,
     CPPDEFINES   = defines,
     CPPPATH      = cpppath,
     CXX          = cxx,
     CXXFLAGS     = cxxflags,
     ENV          = environ,
     FORTRANFLAGS = fortranflags,
     FORTRAN      = f90,
     FORTRANLIBS  = libs_fortran,
     FORTRANPATH  = fortranpath,
     LIBPATH      = libpath,
     LINKFLAGS    = linkflags )

From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> on behalf of Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>>
Reply-To: SCons users mailing list <scons-users at scons.org<mailto:scons-users at scons.org>>
Date: Wednesday, June 23, 2021 at 5:34 PM
To: SCons users mailing list <scons-users at scons.org<mailto:scons-users at scons.org>>
Subject: [EXTERNAL] Re: [Scons-users] Adding support for Intel compilers

Can you share how you set up your Environment object. I can take a quick look at what you need to tweak to get it running correctly.

Jason

From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> On Behalf Of Jason Kenny
Sent: Wednesday, June 23, 2021 4:58 PM
To: SCons users mailing list <scons-users at scons.org<mailto:scons-users at scons.org>>
Subject: Re: [Scons-users] Adding support for Intel compilers


I believe you need to make sure you load the c++/gcc tool as well as this adds other items you need to have defined that the intelc.py tool does not handle if I recall correctly with pure SCons

You should be able to find some examples of how in Pure SCons to create the Environment correctly in the user list.

I have support for icc in my extension for Scons called Parts. In fact, I am adding support for the new icx version that should be replacing the existing/classic icc case for the next drop.

Jason

From: Scons-users <scons-users-bounces at scons.org<mailto:scons-users-bounces at scons.org>> on behalf of Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] via Scons-users <scons-users at scons.org<mailto:scons-users at scons.org>>
Sent: Wednesday, June 23, 2021 4:14 PM
To: scons-users at scons.org<mailto:scons-users at scons.org> <scons-users at scons.org<mailto:scons-users at scons.org>>
Cc: Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] <daniel.s.kokron at nasa.gov<mailto:daniel.s.kokron at nasa.gov>>
Subject: [Scons-users] Adding support for Intel compilers


I have a user on our system whose application (ENZO-E) depends on SCons.  We have a working build that uses GNU compilers however I would like to test the code using Intel compilers as they typically provide better performance on our system.  I have already worked through some issues by modifying SCons/Tool/intelc.py so it can find our installation tree.



-            for d in glob.glob('/opt/intel/compilers_and_libraries_%s/linux'%version):

+            for d in glob.glob('/nasa/intel/Compiler/2020.4.304/compilers_and_libraries_%s/linux'%version):



I have tried duplicating the set of files used for GNU compilers (gcc.py, g++.py and gxx.py), replacing GNU compiler names with appropriate names of Intel compilers.  However, nothing I’ve tried has been able to resolve the following.



scons: *** While building `['cello.o']' from `['cello.cpp']': Don't know how to build from a source file with suffix `.cpp'.  Expected a suffix in this list: ['.c', '.m', '.i', '.fpp', '.FPP', '.I', '.f77', '.F77', '.i90', '.I90', '.f95', '.F95', '.f03', '.F03', '.f08', '.F08', '.s', '.asm', '.ASM', '.spp', '.SPP', '.sx', '.S', '.d'].



Can anyone offer some guidance on how to proceed?



Daniel Kokron
RedLine Performance Solutions
SciCon/APP group

--



_______________________________________________
Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>
https://pairlist4.pair.net/mailman/listinfo/scons-users<https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist4.pair.net%2Fmailman%2Flistinfo%2Fscons-users&data=04%7C01%7Cdaniel.s.kokron%40nasa.gov%7C7fb8eb811220429ab17608d9369ee992%7C7005d45845be48ae8140d43da96dd17b%7C0%7C0%7C637600878417069115%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TPIEE7CHHDsXOU7IiAyuwCYS2oSoodthVegVSoTs6Fw%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210624/85c6ad2d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 141 bytes
Desc: image001.png
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210624/85c6ad2d/attachment-0001.png>


More information about the Scons-users mailing list