Discussion:
[Scons-users] Suffix for Fortran 90 source files
Norio Takemoto
2018-03-16 21:40:38 UTC
Permalink
Dear Scons User Mailing List,

I am having a problem with building a program from a Fortran 90 source
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
construction variables are set as following:

'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],

What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in the
source code of scons, or are they set while scons starts up in my
environment?

Below is some reference information about my environment.

I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`

It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.

Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.

My Fortran source file `main.f90` is as simple as following:

program s000
implicit none
write(*,*) 'hello'
end program s000

My `Sconstruct` is

env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')

The standard output of `scons` is the following:

```
norio$ scons
scons: Reading SConscript files ...
-----------------------
{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rc'],
'AS': 'as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c
-o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BUILDERS': {'Zip': <SCons.Builder.BuilderBase object at
0x2b9d561eead0>, 'Jar': <SCons.Builder.BuilderBase object at
0x2b9d5620ba10>, 'StaticLibrary': <SCons.Builder.BuilderBase object at
0x2b9d5620b250>, 'Program': <SCons.Builder.BuilderBase object at
0x2b9d561eebd0>, 'ProgramAllAtOnce': <SCons.Builder.BuilderBase object
at 0x2b9d5620b490>, 'RPCGenHeader': <SCons.Builder.BuilderBase object
at 0x2b9d5620b6d0>, 'Object': <SCons.Builder.CompositeBuilder object
at 0x2b9d561eee90>, 'RPCGenXDR': <SCons.Builder.BuilderBase object at
0x2b9d5620b7d0>, 'JavaClassDir': <SCons.Builder.BuilderBase object at
0x2b9d5620bcd0>, 'LoadableModule': <SCons.Builder.BuilderBase object
at 0x2b9d561eed50>, 'CopyAs': <SCons.Builder.BuilderBase object at
0x2b9d5620b550>, 'SharedLibrary': <SCons.Builder.BuilderBase object at
0x2b9d561eeb10>, 'CopyTo': <SCons.Builder.BuilderBase object at
0x2b9d5620b510>, 'PDF': <SCons.Builder.CompositeBuilder object at
0x2b9d5620bf50>, 'StaticObject': <SCons.Builder.CompositeBuilder
object at 0x2b9d561eee90>, 'SharedObject':
<SCons.Builder.CompositeBuilder object at 0x2b9d561eefd0>, 'Gs':
<SCons.Builder.BuilderBase object at 0x2b9d5621a0d0>, 'Tar':
<SCons.Builder.BuilderBase object at 0x2b9d561ee850>, 'JavaClassFile':
<SCons.Builder.BuilderBase object at 0x2b9d5620bc10>, 'RPCGenService':
<SCons.Builder.BuilderBase object at 0x2b9d5620b750>, 'Library':
<SCons.Builder.BuilderBase object at 0x2b9d5620b250>, 'RMIC':
<SCons.Builder.BuilderBase object at 0x2b9d561d9350>, 'JavaFile':
<SCons.Builder.CompositeBuilder object at 0x2b9d5620bb50>,
'RPCGenClient': <SCons.Builder.BuilderBase object at 0x2b9d5620b610>},
'CC': 'gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'CCVERSION': '4.8.4',
'CFILESUFFIX': '.c',
'CFLAGS': [],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'COPYSTR': 'Copy file(s): "$SOURCES" to "$TARGETS"',
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': [],
'CXXVERSION': '4.8.4',
'DC': 'dmd',
'DCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-of$TARGET $SOURCES',
'DDEBUG': [],
'DDEBUGPREFIX': '-debug=',
'DDEBUGSUFFIX': '',
'DFILESUFFIX': '.d',
'DFLAGPREFIX': '-',
'DFLAGS': [],
'DFLAGSUFFIX': '',
'DINCPREFIX': '-I',
'DINCSUFFIX': '',
'DLIB': 'ar cr',
'DLIBCOM': '$DLIB $_DLIBFLAGS $TARGET $SOURCES $_DLIBFLAGS',
'DLIBDIRPREFIX': '-L-L',
'DLIBDIRSUFFIX': '',
'DLIBFLAGPREFIX': '-',
'DLIBFLAGSUFFIX': '',
'DLIBLINKPREFIX': '-L-l',
'DLIBLINKSUFFIX': '',
'DLINK': '$DC',
'DLINKCOM': '$DLINK -of$TARGET $DLINKFLAGS $__DRPATH $SOURCES
$_DLIBDIRFLAGS $_DLIBFLAGS',
'DLINKFLAGS': [],
'DPATH': ['#/'],
'DRPATHPREFIX': '-L-rpath=',
'DRPATHSUFFIX': '',
'DSUFFIXES': ['.d'],
'DShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'DVERPREFIX': '-version=',
'DVERSIONS': [],
'DVERSUFFIX': '',
'DVIPDF': 'dvipdf',
'DVIPDFCOM': 'cd ${TARGET.dir} && $DVIPDF $DVIPDFFLAGS
${SOURCE.file} ${TARGET.file}',
'DVIPDFFLAGS': [],
'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1d10>,
'Dirs': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1d50>,
'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
'ESCAPE': <function escape at 0x2b9d55967b90>,
'F03COM': '$F03 -o $TARGET -c $F03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F03FLAGS': [],
'F03PPCOM': '$F03 -o $TARGET -c $F03FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F08COM': '$F08 -o $TARGET -c $F08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F08FLAGS': [],
'F08PPCOM': '$F08 -o $TARGET -c $F08FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F77': 'ifort',
'F77COM': '$F77 -o $TARGET -c $F77FLAGS $_F77INCFLAGS $SOURCES',
'F77FLAGS': [],
'F77PPCOM': '$F77 -o $TARGET -c $F77FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F77INCFLAGS $SOURCES',
'F90': 'ifort',
'F90COM': '$F90 -o $TARGET -c $F90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F90FILESUFFIXES': ['.i90'],
'F90FLAGS': [],
'F90PPCOM': '$F90 -o $TARGET -c $F90FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F95': 'ifort',
'F95COM': '$F95 -o $TARGET -c $F95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F95FLAGS': [],
'F95PPCOM': '$F95 -o $TARGET -c $F95FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRAN': 'ifort',
'FORTRANCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANFLAGS': [],
'FORTRANMODDIR': '',
'FORTRANMODDIRPREFIX': '-module ',
'FORTRANMODDIRSUFFIX': '',
'FORTRANMODPREFIX': '',
'FORTRANMODSUFFIX': '.mod',
'FORTRANPPCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS $CPPFLAGS
$_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1d90>,
'GS': 'gs',
'GSCOM': '$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES',
'GSFLAGS': ['-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'],
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCF03PREFIX': '$INCPREFIX',
'INCF03SUFFIX': '$INCSUFFIX',
'INCF08PREFIX': '$INCPREFIX',
'INCF08SUFFIX': '$INCSUFFIX',
'INCF77PREFIX': '$INCPREFIX',
'INCF77SUFFIX': '$INCSUFFIX',
'INCF90PREFIX': '$INCPREFIX',
'INCF90SUFFIX': '$INCSUFFIX',
'INCF95PREFIX': '$INCPREFIX',
'INCF95SUFFIX': '$INCSUFFIX',
'INCFORTRANPREFIX': '$INCPREFIX',
'INCFORTRANSUFFIX': '$INCSUFFIX',
'INCPREFIX': '-I',
'INCSUFFIX': '',
'JAR': 'jar',
'JARCOM': "${TEMPFILE('$_JARCOM','$JARCOMSTR')}",
'JARFLAGS': ['cf'],
'JARSUFFIX': '.jar',
'JAVABOOTCLASSPATH': [],
'JAVAC': 'javac',
'JAVACCOM': "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}",
'JAVACFLAGS': [],
'JAVACLASSPATH': [],
'JAVACLASSSUFFIX': '.class',
'JAVASOURCEPATH': [],
'JAVASUFFIX': '.java',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS
$__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x2b9d561a9aa0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function
_versioned_ldmod_name at 0x2b9d561a9c08>,
'VersionedLdModSoname': <function
_versioned_ldmod_soname at 0x2b9d561a9de8>,
'VersionedLdModSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedLdModSymlinks': <function
_versioned_ldmod_symlinks at 0x2b9d561a9f50>,
'VersionedShLibName': <function
_versioned_shlib_name at 0x2b9d561a9b90>,
'VersionedShLibSoname': <function
_versioned_shlib_soname at 0x2b9d561a9d70>,
'VersionedShLibSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedShLibSymlinks': <function
_versioned_shlib_symlinks at 0x2b9d561a9ed8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES
$_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': [],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f1250>,
'MAXLINELENGTH': 128072,
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PDFCOM': ['$DVIPDFCOM'],
'PDFPREFIX': '',
'PDFSUFFIX': '.pdf',
'PLATFORM': 'posix',
'PROGPREFIX': '',
'PROGSUFFIX': '',
'PSPAWN': <function piped_env_spawn at 0x2b9d56158de8>,
'RANLIB': 'ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1dd0>,
'RMIC': 'rmic',
'RMICCOM': '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir}
-classpath ${SOURCE.attributes.java_classdir}
${SOURCES.attributes.java_classname}',
'RMICFLAGS': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'RPCGEN': 'rpcgen',
'RPCGENCLIENTFLAGS': [],
'RPCGENFLAGS': [],
'RPCGENHEADERFLAGS': [],
'RPCGENSERVICEFLAGS': [],
'RPCGENXDRFLAGS': [],
'SCANNERS': [<SCons.Scanner.Base object at 0x2b9d559eb750>],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHDC': '$DC',
'SHDCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-fPIC -of$TARGET $SOURCES',
'SHDLIBVERSION': '$SHLIBVERSION',
'SHDLIBVERSIONFLAGS': [],
'SHDLINK': '$DC',
'SHDLINKCOM': '$DLINK -of$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS
$__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS',
'SHDLINKFLAGS': ['$DLINKFLAGS', '-shared', '-defaultlib=libphobos2.so'],
'SHELL': 'sh',
'SHF03COM': '$SHF03 -o $TARGET -c $SHF03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF03FLAGS': ['$F03FLAGS'],
'SHF03PPCOM': '$SHF03 -o $TARGET -c $SHF03FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF08COM': '$SHF08 -o $TARGET -c $SHF08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF08FLAGS': ['$F08FLAGS'],
'SHF08PPCOM': '$SHF08 -o $TARGET -c $SHF08FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF77': '$F77',
'SHF77COM': '$SHF77 -o $TARGET -c $SHF77FLAGS $_F77INCFLAGS $SOURCES',
'SHF77FLAGS': ['$F77FLAGS', '-fPIC'],
'SHF77PPCOM': '$SHF77 -o $TARGET -c $SHF77FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F77INCFLAGS $SOURCES',
'SHF90': '$F90',
'SHF90COM': '$SHF90 -o $TARGET -c $SHF90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF90FLAGS': ['$F90FLAGS', '-fPIC'],
'SHF90PPCOM': '$SHF90 -o $TARGET -c $SHF90FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF95': '$F95',
'SHF95COM': '$SHF95 -o $TARGET -c $SHF95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF95FLAGS': ['$F95FLAGS', '-fPIC'],
'SHF95PPCOM': '$SHF95 -o $TARGET -c $SHF95FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRAN': '$FORTRAN',
'SHFORTRANCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRANFLAGS': ['$FORTRANFLAGS', '-fPIC'],
'SHFORTRANPPCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHLIBEMITTER': [<function shlib_emitter at 0x2b9d561a9a28>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.so',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS
$__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SMARTLINK': <function smart_link at 0x2b9d561a9938>,
'SPAWN': <function subprocess_spawn at 0x2b9d56158cf8>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'TAR': 'tar',
'TARCOM': '$TAR $TARFLAGS -f $TARGET $SOURCES',
'TARFLAGS': ['-c'],
'TARGET_ARCH': None,
'TARGET_OS': None,
'TARSUFFIX': '.tar',
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TEMPFILEPREFIX': '@',
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'ifort',
'gas',
'ar',
'dmd',
'filesystem',
'rpcgen',
'jar',
'javac',
'rmic',
'dvipdf',
'gs',
'tar',
'zip'],
'WIXCANDLE': 'candle.exe',
'WIXLIGHT': 'light.exe',
'ZIP': 'zip',
'ZIPCOM': <SCons.Action.FunctionAction object at 0x2b9d561ee990>,
'ZIPCOMPRESSION': 8,
'ZIPFLAGS': [],
'ZIPROOT': [],
'ZIPSUFFIX': '.zip',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX,
__env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_DDEBUGFLAGS': '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}',
'_DFLAGS': '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}',
'_DINCFLAGS': '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__,
RDirs, TARGET, SOURCE)}',
'_DLIBDIRFLAGS': '${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)}',
'_DLIBFLAGS': '${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_DRPATH': '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}',
'_DVERFLAGS': '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}',
'_F03INCFLAGS': '$( ${_concat(INCF03PREFIX, F03PATH, INCF03SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F08INCFLAGS': '$( ${_concat(INCF08PREFIX, F08PATH, INCF08SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F77INCFLAGS': '$( ${_concat(INCF77PREFIX, F77PATH, INCF77SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F90INCFLAGS': '$( ${_concat(INCF90PREFIX, F90PATH, INCF90SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F95INCFLAGS': '$( ${_concat(INCF95PREFIX, F95PATH, INCF95SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANINCFLAGS': '$( ${_concat(INCFORTRANPREFIX, FORTRANPATH,
INCFORTRANSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANMODFLAG': '$( ${_concat(FORTRANMODDIRPREFIX, FORTRANMODDIR,
FORTRANMODDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_JARCOM': '$JAR $_JARFLAGS $TARGET $_JARMANIFEST $_JARSOURCES',
'_JARFLAGS': <function jarFlags at 0x2b9d561beb90>,
'_JARMANIFEST': <function jarManifest at 0x2b9d561beb18>,
'_JARSOURCES': <function jarSources at 0x2b9d561beaa0>,
'_JAVABOOTCLASSPATH': '${_javapathopt("-bootclasspath",
"JAVABOOTCLASSPATH")} ',
'_JAVACCOM': '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH
-d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES',
'_JAVACLASSPATH': '${_javapathopt("-classpath", "JAVACLASSPATH")} ',
'_JAVASOURCEPATH': '${_javapathopt("-sourcepath", "JAVASOURCEPATH",
"_JAVASOURCEPATHDEFAULT")} ',
'_JAVASOURCEPATHDEFAULT': '${TARGET.attributes.java_sourcedir}',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS -Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHDLIBSONAME': '${DShLibSonameGenerator(__env__,TARGET)}',
'_SHDLIBVERSIONFLAGS': '$SHDLIBVERSIONFLAGS -L-soname=$_SHDLIBSONAME',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'__DSHLIBVERSIONFLAGS':
'${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'__LDMODULEVERSIONFLAGS':
'${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'__SHLIBVERSIONFLAGS':
'${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x2b9d559f85f0>,
'_concat': <function _concat at 0x2b9d559f8398>,
'_defines': <function _defines at 0x2b9d559f8578>,
'_javapathopt': <class 'SCons.Tool.javac.pathopt'>,
'_stripixes': <function _stripixes at 0x2b9d559f8488>}
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```

I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.

Sincerely,
Norio
Bill Deegan
2018-03-16 22:39:57 UTC
Permalink
Norio,

What fortran compiler are you using?

-Bill
Post by Norio Takemoto
Dear Scons User Mailing List,
I am having a problem with building a program from a Fortran 90 source
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in the
source code of scons, or are they set while scons starts up in my
environment?
Below is some reference information about my environment.
I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`
It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.
Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.
program s000
implicit none
write(*,*) 'hello'
end program s000
My `Sconstruct` is
env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
```
norio$ scons
scons: Reading SConscript files ...
-----------------------
{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rc'],
'AS': 'as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c
-o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BUILDERS': {'Zip': <SCons.Builder.BuilderBase object at
0x2b9d561eead0>, 'Jar': <SCons.Builder.BuilderBase object at
0x2b9d5620ba10>, 'StaticLibrary': <SCons.Builder.BuilderBase object at
0x2b9d5620b250>, 'Program': <SCons.Builder.BuilderBase object at
0x2b9d561eebd0>, 'ProgramAllAtOnce': <SCons.Builder.BuilderBase object
at 0x2b9d5620b490>, 'RPCGenHeader': <SCons.Builder.BuilderBase object
at 0x2b9d5620b6d0>, 'Object': <SCons.Builder.CompositeBuilder object
at 0x2b9d561eee90>, 'RPCGenXDR': <SCons.Builder.BuilderBase object at
0x2b9d5620b7d0>, 'JavaClassDir': <SCons.Builder.BuilderBase object at
0x2b9d5620bcd0>, 'LoadableModule': <SCons.Builder.BuilderBase object
at 0x2b9d561eed50>, 'CopyAs': <SCons.Builder.BuilderBase object at
0x2b9d5620b550>, 'SharedLibrary': <SCons.Builder.BuilderBase object at
0x2b9d561eeb10>, 'CopyTo': <SCons.Builder.BuilderBase object at
0x2b9d5620b510>, 'PDF': <SCons.Builder.CompositeBuilder object at
0x2b9d5620bf50>, 'StaticObject': <SCons.Builder.CompositeBuilder
<SCons.Builder.CompositeBuilder object at 0x2b9d5620bb50>,
'RPCGenClient': <SCons.Builder.BuilderBase object at 0x2b9d5620b610>},
'CC': 'gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'CCVERSION': '4.8.4',
'CFILESUFFIX': '.c',
'CFLAGS': [],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'COPYSTR': 'Copy file(s): "$SOURCES" to "$TARGETS"',
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': [],
'CXXVERSION': '4.8.4',
'DC': 'dmd',
'DCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-of$TARGET $SOURCES',
'DDEBUG': [],
'DDEBUGPREFIX': '-debug=',
'DDEBUGSUFFIX': '',
'DFILESUFFIX': '.d',
'DFLAGPREFIX': '-',
'DFLAGS': [],
'DFLAGSUFFIX': '',
'DINCPREFIX': '-I',
'DINCSUFFIX': '',
'DLIB': 'ar cr',
'DLIBCOM': '$DLIB $_DLIBFLAGS $TARGET $SOURCES $_DLIBFLAGS',
'DLIBDIRPREFIX': '-L-L',
'DLIBDIRSUFFIX': '',
'DLIBFLAGPREFIX': '-',
'DLIBFLAGSUFFIX': '',
'DLIBLINKPREFIX': '-L-l',
'DLIBLINKSUFFIX': '',
'DLINK': '$DC',
'DLINKCOM': '$DLINK -of$TARGET $DLINKFLAGS $__DRPATH $SOURCES
$_DLIBDIRFLAGS $_DLIBFLAGS',
'DLINKFLAGS': [],
'DPATH': ['#/'],
'DRPATHPREFIX': '-L-rpath=',
'DRPATHSUFFIX': '',
'DSUFFIXES': ['.d'],
'DShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'DVERPREFIX': '-version=',
'DVERSIONS': [],
'DVERSUFFIX': '',
'DVIPDF': 'dvipdf',
'DVIPDFCOM': 'cd ${TARGET.dir} && $DVIPDF $DVIPDFFLAGS
${SOURCE.file} ${TARGET.file}',
'DVIPDFFLAGS': [],
'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1d10>,
'Dirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d50>,
'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
'ESCAPE': <function escape at 0x2b9d55967b90>,
'F03COM': '$F03 -o $TARGET -c $F03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F03FLAGS': [],
'F03PPCOM': '$F03 -o $TARGET -c $F03FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F08COM': '$F08 -o $TARGET -c $F08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F08FLAGS': [],
'F08PPCOM': '$F08 -o $TARGET -c $F08FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F77': 'ifort',
'F77COM': '$F77 -o $TARGET -c $F77FLAGS $_F77INCFLAGS $SOURCES',
'F77FLAGS': [],
'F77PPCOM': '$F77 -o $TARGET -c $F77FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F77INCFLAGS $SOURCES',
'F90': 'ifort',
'F90COM': '$F90 -o $TARGET -c $F90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F90FILESUFFIXES': ['.i90'],
'F90FLAGS': [],
'F90PPCOM': '$F90 -o $TARGET -c $F90FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F95': 'ifort',
'F95COM': '$F95 -o $TARGET -c $F95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F95FLAGS': [],
'F95PPCOM': '$F95 -o $TARGET -c $F95FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRAN': 'ifort',
'FORTRANCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANFLAGS': [],
'FORTRANMODDIR': '',
'FORTRANMODDIRPREFIX': '-module ',
'FORTRANMODDIRSUFFIX': '',
'FORTRANMODPREFIX': '',
'FORTRANMODSUFFIX': '.mod',
'FORTRANPPCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS $CPPFLAGS
$_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d90>,
'GS': 'gs',
'GSCOM': '$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES',
'GSFLAGS': ['-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'],
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCF03PREFIX': '$INCPREFIX',
'INCF03SUFFIX': '$INCSUFFIX',
'INCF08PREFIX': '$INCPREFIX',
'INCF08SUFFIX': '$INCSUFFIX',
'INCF77PREFIX': '$INCPREFIX',
'INCF77SUFFIX': '$INCSUFFIX',
'INCF90PREFIX': '$INCPREFIX',
'INCF90SUFFIX': '$INCSUFFIX',
'INCF95PREFIX': '$INCPREFIX',
'INCF95SUFFIX': '$INCSUFFIX',
'INCFORTRANPREFIX': '$INCPREFIX',
'INCFORTRANSUFFIX': '$INCSUFFIX',
'INCPREFIX': '-I',
'INCSUFFIX': '',
'JAR': 'jar',
'JARCOM': "${TEMPFILE('$_JARCOM','$JARCOMSTR')}",
'JARFLAGS': ['cf'],
'JARSUFFIX': '.jar',
'JAVABOOTCLASSPATH': [],
'JAVAC': 'javac',
'JAVACCOM': "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}",
'JAVACFLAGS': [],
'JAVACLASSPATH': [],
'JAVACLASSSUFFIX': '.class',
'JAVASOURCEPATH': [],
'JAVASUFFIX': '.java',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS
$__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x2b9d561a9aa0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function
_versioned_ldmod_name at 0x2b9d561a9c08>,
'VersionedLdModSoname': <function
_versioned_ldmod_soname at 0x2b9d561a9de8>,
'VersionedLdModSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedLdModSymlinks': <function
_versioned_ldmod_symlinks at 0x2b9d561a9f50>,
'VersionedShLibName': <function
_versioned_shlib_name at 0x2b9d561a9b90>,
'VersionedShLibSoname': <function
_versioned_shlib_soname at 0x2b9d561a9d70>,
'VersionedShLibSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedShLibSymlinks': <function
_versioned_shlib_symlinks at 0x2b9d561a9ed8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES
$_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': [],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f1250>,
'MAXLINELENGTH': 128072,
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PDFCOM': ['$DVIPDFCOM'],
'PDFPREFIX': '',
'PDFSUFFIX': '.pdf',
'PLATFORM': 'posix',
'PROGPREFIX': '',
'PROGSUFFIX': '',
'PSPAWN': <function piped_env_spawn at 0x2b9d56158de8>,
'RANLIB': 'ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1dd0>,
'RMIC': 'rmic',
'RMICCOM': '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir}
-classpath ${SOURCE.attributes.java_classdir}
${SOURCES.attributes.java_classname}',
'RMICFLAGS': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'RPCGEN': 'rpcgen',
'RPCGENCLIENTFLAGS': [],
'RPCGENFLAGS': [],
'RPCGENHEADERFLAGS': [],
'RPCGENSERVICEFLAGS': [],
'RPCGENXDRFLAGS': [],
'SCANNERS': [<SCons.Scanner.Base object at 0x2b9d559eb750>],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHDC': '$DC',
'SHDCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-fPIC -of$TARGET $SOURCES',
'SHDLIBVERSION': '$SHLIBVERSION',
'SHDLIBVERSIONFLAGS': [],
'SHDLINK': '$DC',
'SHDLINKCOM': '$DLINK -of$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS
$__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS',
'SHDLINKFLAGS': ['$DLINKFLAGS', '-shared', '-defaultlib=libphobos2.so'],
'SHELL': 'sh',
'SHF03COM': '$SHF03 -o $TARGET -c $SHF03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF03FLAGS': ['$F03FLAGS'],
'SHF03PPCOM': '$SHF03 -o $TARGET -c $SHF03FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF08COM': '$SHF08 -o $TARGET -c $SHF08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF08FLAGS': ['$F08FLAGS'],
'SHF08PPCOM': '$SHF08 -o $TARGET -c $SHF08FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF77': '$F77',
'SHF77COM': '$SHF77 -o $TARGET -c $SHF77FLAGS $_F77INCFLAGS $SOURCES',
'SHF77FLAGS': ['$F77FLAGS', '-fPIC'],
'SHF77PPCOM': '$SHF77 -o $TARGET -c $SHF77FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F77INCFLAGS $SOURCES',
'SHF90': '$F90',
'SHF90COM': '$SHF90 -o $TARGET -c $SHF90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF90FLAGS': ['$F90FLAGS', '-fPIC'],
'SHF90PPCOM': '$SHF90 -o $TARGET -c $SHF90FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF95': '$F95',
'SHF95COM': '$SHF95 -o $TARGET -c $SHF95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF95FLAGS': ['$F95FLAGS', '-fPIC'],
'SHF95PPCOM': '$SHF95 -o $TARGET -c $SHF95FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRAN': '$FORTRAN',
'SHFORTRANCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRANFLAGS': ['$FORTRANFLAGS', '-fPIC'],
'SHFORTRANPPCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHLIBEMITTER': [<function shlib_emitter at 0x2b9d561a9a28>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.so',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS
$__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SMARTLINK': <function smart_link at 0x2b9d561a9938>,
'SPAWN': <function subprocess_spawn at 0x2b9d56158cf8>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'TAR': 'tar',
'TARCOM': '$TAR $TARFLAGS -f $TARGET $SOURCES',
'TARFLAGS': ['-c'],
'TARGET_ARCH': None,
'TARGET_OS': None,
'TARSUFFIX': '.tar',
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'ifort',
'gas',
'ar',
'dmd',
'filesystem',
'rpcgen',
'jar',
'javac',
'rmic',
'dvipdf',
'gs',
'tar',
'zip'],
'WIXCANDLE': 'candle.exe',
'WIXLIGHT': 'light.exe',
'ZIP': 'zip',
'ZIPCOM': <SCons.Action.FunctionAction object at 0x2b9d561ee990>,
'ZIPCOMPRESSION': 8,
'ZIPFLAGS': [],
'ZIPROOT': [],
'ZIPSUFFIX': '.zip',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX,
__env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_DDEBUGFLAGS': '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}',
'_DFLAGS': '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}',
'_DINCFLAGS': '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__,
RDirs, TARGET, SOURCE)}',
'_DLIBDIRFLAGS': '${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)}',
'_DLIBFLAGS': '${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_DRPATH': '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}',
'_DVERFLAGS': '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}',
'_F03INCFLAGS': '$( ${_concat(INCF03PREFIX, F03PATH, INCF03SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F08INCFLAGS': '$( ${_concat(INCF08PREFIX, F08PATH, INCF08SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F77INCFLAGS': '$( ${_concat(INCF77PREFIX, F77PATH, INCF77SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F90INCFLAGS': '$( ${_concat(INCF90PREFIX, F90PATH, INCF90SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F95INCFLAGS': '$( ${_concat(INCF95PREFIX, F95PATH, INCF95SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANINCFLAGS': '$( ${_concat(INCFORTRANPREFIX, FORTRANPATH,
INCFORTRANSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANMODFLAG': '$( ${_concat(FORTRANMODDIRPREFIX, FORTRANMODDIR,
FORTRANMODDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_JARCOM': '$JAR $_JARFLAGS $TARGET $_JARMANIFEST $_JARSOURCES',
'_JARFLAGS': <function jarFlags at 0x2b9d561beb90>,
'_JARMANIFEST': <function jarManifest at 0x2b9d561beb18>,
'_JARSOURCES': <function jarSources at 0x2b9d561beaa0>,
'_JAVABOOTCLASSPATH': '${_javapathopt("-bootclasspath",
"JAVABOOTCLASSPATH")} ',
'_JAVACCOM': '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH
-d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES',
'_JAVACLASSPATH': '${_javapathopt("-classpath", "JAVACLASSPATH")} ',
'_JAVASOURCEPATH': '${_javapathopt("-sourcepath", "JAVASOURCEPATH",
"_JAVASOURCEPATHDEFAULT")} ',
'_JAVASOURCEPATHDEFAULT': '${TARGET.attributes.java_sourcedir}',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS
-Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHDLIBSONAME': '${DShLibSonameGenerator(__env__,TARGET)}',
'_SHDLIBVERSIONFLAGS': '$SHDLIBVERSIONFLAGS -L-soname=$_SHDLIBSONAME',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x2b9d559f85f0>,
'_concat': <function _concat at 0x2b9d559f8398>,
'_defines': <function _defines at 0x2b9d559f8578>,
'_javapathopt': <class 'SCons.Tool.javac.pathopt'>,
'_stripixes': <function _stripixes at 0x2b9d559f8488>}
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```
I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.
Sincerely,
Norio
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
Norio Takemoto
2018-03-17 02:19:11 UTC
Permalink
Dear Bill,

thank you for your reply. I'm using Intel ifort 17.0.3.

Sincerely,
Norio
Post by Bill Deegan
Norio,
What fortran compiler are you using?
-Bill
Post by Norio Takemoto
Dear Scons User Mailing List,
I am having a problem with building a program from a Fortran 90 source
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in the
source code of scons, or are they set while scons starts up in my
environment?
Below is some reference information about my environment.
I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`
It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.
Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.
program s000
implicit none
write(*,*) 'hello'
end program s000
My `Sconstruct` is
env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
```
norio$ scons
scons: Reading SConscript files ...
-----------------------
{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rc'],
'AS': 'as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c
-o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BUILDERS': {'Zip': <SCons.Builder.BuilderBase object at
0x2b9d561eead0>, 'Jar': <SCons.Builder.BuilderBase object at
0x2b9d5620ba10>, 'StaticLibrary': <SCons.Builder.BuilderBase object at
0x2b9d5620b250>, 'Program': <SCons.Builder.BuilderBase object at
0x2b9d561eebd0>, 'ProgramAllAtOnce': <SCons.Builder.BuilderBase object
at 0x2b9d5620b490>, 'RPCGenHeader': <SCons.Builder.BuilderBase object
at 0x2b9d5620b6d0>, 'Object': <SCons.Builder.CompositeBuilder object
at 0x2b9d561eee90>, 'RPCGenXDR': <SCons.Builder.BuilderBase object at
0x2b9d5620b7d0>, 'JavaClassDir': <SCons.Builder.BuilderBase object at
0x2b9d5620bcd0>, 'LoadableModule': <SCons.Builder.BuilderBase object
at 0x2b9d561eed50>, 'CopyAs': <SCons.Builder.BuilderBase object at
0x2b9d5620b550>, 'SharedLibrary': <SCons.Builder.BuilderBase object at
0x2b9d561eeb10>, 'CopyTo': <SCons.Builder.BuilderBase object at
0x2b9d5620b510>, 'PDF': <SCons.Builder.CompositeBuilder object at
0x2b9d5620bf50>, 'StaticObject': <SCons.Builder.CompositeBuilder
<SCons.Builder.CompositeBuilder object at 0x2b9d5620bb50>,
'RPCGenClient': <SCons.Builder.BuilderBase object at 0x2b9d5620b610>},
'CC': 'gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'CCVERSION': '4.8.4',
'CFILESUFFIX': '.c',
'CFLAGS': [],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'COPYSTR': 'Copy file(s): "$SOURCES" to "$TARGETS"',
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': [],
'CXXVERSION': '4.8.4',
'DC': 'dmd',
'DCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-of$TARGET $SOURCES',
'DDEBUG': [],
'DDEBUGPREFIX': '-debug=',
'DDEBUGSUFFIX': '',
'DFILESUFFIX': '.d',
'DFLAGPREFIX': '-',
'DFLAGS': [],
'DFLAGSUFFIX': '',
'DINCPREFIX': '-I',
'DINCSUFFIX': '',
'DLIB': 'ar cr',
'DLIBCOM': '$DLIB $_DLIBFLAGS $TARGET $SOURCES $_DLIBFLAGS',
'DLIBDIRPREFIX': '-L-L',
'DLIBDIRSUFFIX': '',
'DLIBFLAGPREFIX': '-',
'DLIBFLAGSUFFIX': '',
'DLIBLINKPREFIX': '-L-l',
'DLIBLINKSUFFIX': '',
'DLINK': '$DC',
'DLINKCOM': '$DLINK -of$TARGET $DLINKFLAGS $__DRPATH $SOURCES
$_DLIBDIRFLAGS $_DLIBFLAGS',
'DLINKFLAGS': [],
'DPATH': ['#/'],
'DRPATHPREFIX': '-L-rpath=',
'DRPATHSUFFIX': '',
'DSUFFIXES': ['.d'],
'DShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'DVERPREFIX': '-version=',
'DVERSIONS': [],
'DVERSUFFIX': '',
'DVIPDF': 'dvipdf',
'DVIPDFCOM': 'cd ${TARGET.dir} && $DVIPDF $DVIPDFFLAGS
${SOURCE.file} ${TARGET.file}',
'DVIPDFFLAGS': [],
'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1d10>,
'Dirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d50>,
'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
'ESCAPE': <function escape at 0x2b9d55967b90>,
'F03COM': '$F03 -o $TARGET -c $F03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F03FLAGS': [],
'F03PPCOM': '$F03 -o $TARGET -c $F03FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F08COM': '$F08 -o $TARGET -c $F08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F08FLAGS': [],
'F08PPCOM': '$F08 -o $TARGET -c $F08FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F77': 'ifort',
'F77COM': '$F77 -o $TARGET -c $F77FLAGS $_F77INCFLAGS $SOURCES',
'F77FLAGS': [],
'F77PPCOM': '$F77 -o $TARGET -c $F77FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F77INCFLAGS $SOURCES',
'F90': 'ifort',
'F90COM': '$F90 -o $TARGET -c $F90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F90FILESUFFIXES': ['.i90'],
'F90FLAGS': [],
'F90PPCOM': '$F90 -o $TARGET -c $F90FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F95': 'ifort',
'F95COM': '$F95 -o $TARGET -c $F95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F95FLAGS': [],
'F95PPCOM': '$F95 -o $TARGET -c $F95FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRAN': 'ifort',
'FORTRANCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANFLAGS': [],
'FORTRANMODDIR': '',
'FORTRANMODDIRPREFIX': '-module ',
'FORTRANMODDIRSUFFIX': '',
'FORTRANMODPREFIX': '',
'FORTRANMODSUFFIX': '.mod',
'FORTRANPPCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS $CPPFLAGS
$_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d90>,
'GS': 'gs',
'GSCOM': '$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES',
'GSFLAGS': ['-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'],
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCF03PREFIX': '$INCPREFIX',
'INCF03SUFFIX': '$INCSUFFIX',
'INCF08PREFIX': '$INCPREFIX',
'INCF08SUFFIX': '$INCSUFFIX',
'INCF77PREFIX': '$INCPREFIX',
'INCF77SUFFIX': '$INCSUFFIX',
'INCF90PREFIX': '$INCPREFIX',
'INCF90SUFFIX': '$INCSUFFIX',
'INCF95PREFIX': '$INCPREFIX',
'INCF95SUFFIX': '$INCSUFFIX',
'INCFORTRANPREFIX': '$INCPREFIX',
'INCFORTRANSUFFIX': '$INCSUFFIX',
'INCPREFIX': '-I',
'INCSUFFIX': '',
'JAR': 'jar',
'JARCOM': "${TEMPFILE('$_JARCOM','$JARCOMSTR')}",
'JARFLAGS': ['cf'],
'JARSUFFIX': '.jar',
'JAVABOOTCLASSPATH': [],
'JAVAC': 'javac',
'JAVACCOM': "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}",
'JAVACFLAGS': [],
'JAVACLASSPATH': [],
'JAVACLASSSUFFIX': '.class',
'JAVASOURCEPATH': [],
'JAVASUFFIX': '.java',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS
$__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x2b9d561a9aa0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function
_versioned_ldmod_name at 0x2b9d561a9c08>,
'VersionedLdModSoname': <function
_versioned_ldmod_soname at 0x2b9d561a9de8>,
'VersionedLdModSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedLdModSymlinks': <function
_versioned_ldmod_symlinks at 0x2b9d561a9f50>,
'VersionedShLibName': <function
_versioned_shlib_name at 0x2b9d561a9b90>,
'VersionedShLibSoname': <function
_versioned_shlib_soname at 0x2b9d561a9d70>,
'VersionedShLibSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedShLibSymlinks': <function
_versioned_shlib_symlinks at 0x2b9d561a9ed8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES
$_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': [],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f1250>,
'MAXLINELENGTH': 128072,
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PDFCOM': ['$DVIPDFCOM'],
'PDFPREFIX': '',
'PDFSUFFIX': '.pdf',
'PLATFORM': 'posix',
'PROGPREFIX': '',
'PROGSUFFIX': '',
'PSPAWN': <function piped_env_spawn at 0x2b9d56158de8>,
'RANLIB': 'ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1dd0>,
'RMIC': 'rmic',
'RMICCOM': '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir}
-classpath ${SOURCE.attributes.java_classdir}
${SOURCES.attributes.java_classname}',
'RMICFLAGS': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'RPCGEN': 'rpcgen',
'RPCGENCLIENTFLAGS': [],
'RPCGENFLAGS': [],
'RPCGENHEADERFLAGS': [],
'RPCGENSERVICEFLAGS': [],
'RPCGENXDRFLAGS': [],
'SCANNERS': [<SCons.Scanner.Base object at 0x2b9d559eb750>],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHDC': '$DC',
'SHDCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-fPIC -of$TARGET $SOURCES',
'SHDLIBVERSION': '$SHLIBVERSION',
'SHDLIBVERSIONFLAGS': [],
'SHDLINK': '$DC',
'SHDLINKCOM': '$DLINK -of$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS
$__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS',
'SHDLINKFLAGS': ['$DLINKFLAGS', '-shared', '-defaultlib=libphobos2.so'],
'SHELL': 'sh',
'SHF03COM': '$SHF03 -o $TARGET -c $SHF03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF03FLAGS': ['$F03FLAGS'],
'SHF03PPCOM': '$SHF03 -o $TARGET -c $SHF03FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF08COM': '$SHF08 -o $TARGET -c $SHF08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF08FLAGS': ['$F08FLAGS'],
'SHF08PPCOM': '$SHF08 -o $TARGET -c $SHF08FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF77': '$F77',
'SHF77COM': '$SHF77 -o $TARGET -c $SHF77FLAGS $_F77INCFLAGS $SOURCES',
'SHF77FLAGS': ['$F77FLAGS', '-fPIC'],
'SHF77PPCOM': '$SHF77 -o $TARGET -c $SHF77FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F77INCFLAGS $SOURCES',
'SHF90': '$F90',
'SHF90COM': '$SHF90 -o $TARGET -c $SHF90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF90FLAGS': ['$F90FLAGS', '-fPIC'],
'SHF90PPCOM': '$SHF90 -o $TARGET -c $SHF90FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF95': '$F95',
'SHF95COM': '$SHF95 -o $TARGET -c $SHF95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF95FLAGS': ['$F95FLAGS', '-fPIC'],
'SHF95PPCOM': '$SHF95 -o $TARGET -c $SHF95FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRAN': '$FORTRAN',
'SHFORTRANCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRANFLAGS': ['$FORTRANFLAGS', '-fPIC'],
'SHFORTRANPPCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHLIBEMITTER': [<function shlib_emitter at 0x2b9d561a9a28>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.so',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS
$__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SMARTLINK': <function smart_link at 0x2b9d561a9938>,
'SPAWN': <function subprocess_spawn at 0x2b9d56158cf8>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'TAR': 'tar',
'TARCOM': '$TAR $TARFLAGS -f $TARGET $SOURCES',
'TARFLAGS': ['-c'],
'TARGET_ARCH': None,
'TARGET_OS': None,
'TARSUFFIX': '.tar',
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'ifort',
'gas',
'ar',
'dmd',
'filesystem',
'rpcgen',
'jar',
'javac',
'rmic',
'dvipdf',
'gs',
'tar',
'zip'],
'WIXCANDLE': 'candle.exe',
'WIXLIGHT': 'light.exe',
'ZIP': 'zip',
'ZIPCOM': <SCons.Action.FunctionAction object at 0x2b9d561ee990>,
'ZIPCOMPRESSION': 8,
'ZIPFLAGS': [],
'ZIPROOT': [],
'ZIPSUFFIX': '.zip',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX,
__env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_DDEBUGFLAGS': '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}',
'_DFLAGS': '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}',
'_DINCFLAGS': '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__,
RDirs, TARGET, SOURCE)}',
'_DLIBDIRFLAGS': '${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)}',
'_DLIBFLAGS': '${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_DRPATH': '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}',
'_DVERFLAGS': '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}',
'_F03INCFLAGS': '$( ${_concat(INCF03PREFIX, F03PATH, INCF03SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F08INCFLAGS': '$( ${_concat(INCF08PREFIX, F08PATH, INCF08SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F77INCFLAGS': '$( ${_concat(INCF77PREFIX, F77PATH, INCF77SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F90INCFLAGS': '$( ${_concat(INCF90PREFIX, F90PATH, INCF90SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F95INCFLAGS': '$( ${_concat(INCF95PREFIX, F95PATH, INCF95SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANINCFLAGS': '$( ${_concat(INCFORTRANPREFIX, FORTRANPATH,
INCFORTRANSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANMODFLAG': '$( ${_concat(FORTRANMODDIRPREFIX, FORTRANMODDIR,
FORTRANMODDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_JARCOM': '$JAR $_JARFLAGS $TARGET $_JARMANIFEST $_JARSOURCES',
'_JARFLAGS': <function jarFlags at 0x2b9d561beb90>,
'_JARMANIFEST': <function jarManifest at 0x2b9d561beb18>,
'_JARSOURCES': <function jarSources at 0x2b9d561beaa0>,
'_JAVABOOTCLASSPATH': '${_javapathopt("-bootclasspath",
"JAVABOOTCLASSPATH")} ',
'_JAVACCOM': '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH
-d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES',
'_JAVACLASSPATH': '${_javapathopt("-classpath", "JAVACLASSPATH")} ',
'_JAVASOURCEPATH': '${_javapathopt("-sourcepath", "JAVASOURCEPATH",
"_JAVASOURCEPATHDEFAULT")} ',
'_JAVASOURCEPATHDEFAULT': '${TARGET.attributes.java_sourcedir}',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS
-Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHDLIBSONAME': '${DShLibSonameGenerator(__env__,TARGET)}',
'_SHDLIBVERSIONFLAGS': '$SHDLIBVERSIONFLAGS -L-soname=$_SHDLIBSONAME',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x2b9d559f85f0>,
'_concat': <function _concat at 0x2b9d559f8398>,
'_defines': <function _defines at 0x2b9d559f8578>,
'_javapathopt': <class 'SCons.Tool.javac.pathopt'>,
'_stripixes': <function _stripixes at 0x2b9d559f8488>}
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```
I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.
Sincerely,
Norio
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
--
Norio TAKEMOTO

Esry Group, Department of Physics, Kansas State University
1228 N. 17th Street, 304 Cardwell Hall
Manhattan, KS 66506-2604, USA

Tel: +1 (785) 532-3384
E-mail: ***@phys.ksu.edu / ***@gmail.com
Web: noriotakemoto.com
Bill Deegan
2018-03-17 02:52:02 UTC
Permalink
try:

env = Environment(tools=['f90','ifort','ilink'])
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')

-Bill
Post by Norio Takemoto
Dear Bill,
thank you for your reply. I'm using Intel ifort 17.0.3.
Sincerely,
Norio
Post by Bill Deegan
Norio,
What fortran compiler are you using?
-Bill
On Fri, Mar 16, 2018 at 5:40 PM, Norio Takemoto <
Post by Norio Takemoto
Dear Scons User Mailing List,
I am having a problem with building a program from a Fortran 90 source
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in the
source code of scons, or are they set while scons starts up in my
environment?
Below is some reference information about my environment.
I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`
It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.
Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.
program s000
implicit none
write(*,*) 'hello'
end program s000
My `Sconstruct` is
env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
```
norio$ scons
scons: Reading SConscript files ...
-----------------------
{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rc'],
'AS': 'as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c
-o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BUILDERS': {'Zip': <SCons.Builder.BuilderBase object at
0x2b9d561eead0>, 'Jar': <SCons.Builder.BuilderBase object at
0x2b9d5620ba10>, 'StaticLibrary': <SCons.Builder.BuilderBase object at
0x2b9d5620b250>, 'Program': <SCons.Builder.BuilderBase object at
0x2b9d561eebd0>, 'ProgramAllAtOnce': <SCons.Builder.BuilderBase object
at 0x2b9d5620b490>, 'RPCGenHeader': <SCons.Builder.BuilderBase object
at 0x2b9d5620b6d0>, 'Object': <SCons.Builder.CompositeBuilder object
at 0x2b9d561eee90>, 'RPCGenXDR': <SCons.Builder.BuilderBase object at
0x2b9d5620b7d0>, 'JavaClassDir': <SCons.Builder.BuilderBase object at
0x2b9d5620bcd0>, 'LoadableModule': <SCons.Builder.BuilderBase object
at 0x2b9d561eed50>, 'CopyAs': <SCons.Builder.BuilderBase object at
0x2b9d5620b550>, 'SharedLibrary': <SCons.Builder.BuilderBase object at
0x2b9d561eeb10>, 'CopyTo': <SCons.Builder.BuilderBase object at
0x2b9d5620b510>, 'PDF': <SCons.Builder.CompositeBuilder object at
0x2b9d5620bf50>, 'StaticObject': <SCons.Builder.CompositeBuilder
<SCons.Builder.CompositeBuilder object at 0x2b9d5620bb50>,
'RPCGenClient': <SCons.Builder.BuilderBase object at 0x2b9d5620b610>},
'CC': 'gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'CCVERSION': '4.8.4',
'CFILESUFFIX': '.c',
'CFLAGS': [],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'COPYSTR': 'Copy file(s): "$SOURCES" to "$TARGETS"',
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': [],
'CXXVERSION': '4.8.4',
'DC': 'dmd',
'DCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-of$TARGET $SOURCES',
'DDEBUG': [],
'DDEBUGPREFIX': '-debug=',
'DDEBUGSUFFIX': '',
'DFILESUFFIX': '.d',
'DFLAGPREFIX': '-',
'DFLAGS': [],
'DFLAGSUFFIX': '',
'DINCPREFIX': '-I',
'DINCSUFFIX': '',
'DLIB': 'ar cr',
'DLIBCOM': '$DLIB $_DLIBFLAGS $TARGET $SOURCES $_DLIBFLAGS',
'DLIBDIRPREFIX': '-L-L',
'DLIBDIRSUFFIX': '',
'DLIBFLAGPREFIX': '-',
'DLIBFLAGSUFFIX': '',
'DLIBLINKPREFIX': '-L-l',
'DLIBLINKSUFFIX': '',
'DLINK': '$DC',
'DLINKCOM': '$DLINK -of$TARGET $DLINKFLAGS $__DRPATH $SOURCES
$_DLIBDIRFLAGS $_DLIBFLAGS',
'DLINKFLAGS': [],
'DPATH': ['#/'],
'DRPATHPREFIX': '-L-rpath=',
'DRPATHSUFFIX': '',
'DSUFFIXES': ['.d'],
'DShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'DVERPREFIX': '-version=',
'DVERSIONS': [],
'DVERSUFFIX': '',
'DVIPDF': 'dvipdf',
'DVIPDFCOM': 'cd ${TARGET.dir} && $DVIPDF $DVIPDFFLAGS
${SOURCE.file} ${TARGET.file}',
'DVIPDFFLAGS': [],
'Dir': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d10>,
Post by Bill Deegan
Post by Norio Takemoto
'Dirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d50>,
'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
'ESCAPE': <function escape at 0x2b9d55967b90>,
'F03COM': '$F03 -o $TARGET -c $F03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F03FLAGS': [],
'F03PPCOM': '$F03 -o $TARGET -c $F03FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F08COM': '$F08 -o $TARGET -c $F08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F08FLAGS': [],
'F08PPCOM': '$F08 -o $TARGET -c $F08FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F77': 'ifort',
'F77COM': '$F77 -o $TARGET -c $F77FLAGS $_F77INCFLAGS $SOURCES',
'F77FLAGS': [],
'F77PPCOM': '$F77 -o $TARGET -c $F77FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F77INCFLAGS $SOURCES',
'F90': 'ifort',
'F90COM': '$F90 -o $TARGET -c $F90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F90FILESUFFIXES': ['.i90'],
'F90FLAGS': [],
'F90PPCOM': '$F90 -o $TARGET -c $F90FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F95': 'ifort',
'F95COM': '$F95 -o $TARGET -c $F95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F95FLAGS': [],
'F95PPCOM': '$F95 -o $TARGET -c $F95FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRAN': 'ifort',
'FORTRANCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANFLAGS': [],
'FORTRANMODDIR': '',
'FORTRANMODDIRPREFIX': '-module ',
'FORTRANMODDIRSUFFIX': '',
'FORTRANMODPREFIX': '',
'FORTRANMODSUFFIX': '.mod',
'FORTRANPPCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS $CPPFLAGS
$_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d90>,
'GS': 'gs',
'GSCOM': '$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES',
'GSFLAGS': ['-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'],
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCF03PREFIX': '$INCPREFIX',
'INCF03SUFFIX': '$INCSUFFIX',
'INCF08PREFIX': '$INCPREFIX',
'INCF08SUFFIX': '$INCSUFFIX',
'INCF77PREFIX': '$INCPREFIX',
'INCF77SUFFIX': '$INCSUFFIX',
'INCF90PREFIX': '$INCPREFIX',
'INCF90SUFFIX': '$INCSUFFIX',
'INCF95PREFIX': '$INCPREFIX',
'INCF95SUFFIX': '$INCSUFFIX',
'INCFORTRANPREFIX': '$INCPREFIX',
'INCFORTRANSUFFIX': '$INCSUFFIX',
'INCPREFIX': '-I',
'INCSUFFIX': '',
'JAR': 'jar',
'JARCOM': "${TEMPFILE('$_JARCOM','$JARCOMSTR')}",
'JARFLAGS': ['cf'],
'JARSUFFIX': '.jar',
'JAVABOOTCLASSPATH': [],
'JAVAC': 'javac',
'JAVACCOM': "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}",
'JAVACFLAGS': [],
'JAVACLASSPATH': [],
'JAVACLASSSUFFIX': '.class',
'JAVASOURCEPATH': [],
'JAVASUFFIX': '.java',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS
$__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x2b9d561a9aa0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function
_versioned_ldmod_name at 0x2b9d561a9c08>,
'VersionedLdModSoname': <function
_versioned_ldmod_soname at 0x2b9d561a9de8>,
'VersionedLdModSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedLdModSymlinks': <function
_versioned_ldmod_symlinks at 0x2b9d561a9f50>,
'VersionedShLibName': <function
_versioned_shlib_name at 0x2b9d561a9b90>,
'VersionedShLibSoname': <function
_versioned_shlib_soname at 0x2b9d561a9d70>,
'VersionedShLibSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedShLibSymlinks': <function
_versioned_shlib_symlinks at 0x2b9d561a9ed8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES
$_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': [],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f1250>,
'MAXLINELENGTH': 128072,
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PDFCOM': ['$DVIPDFCOM'],
'PDFPREFIX': '',
'PDFSUFFIX': '.pdf',
'PLATFORM': 'posix',
'PROGPREFIX': '',
'PROGSUFFIX': '',
'PSPAWN': <function piped_env_spawn at 0x2b9d56158de8>,
'RANLIB': 'ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1dd0>,
'RMIC': 'rmic',
'RMICCOM': '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir}
-classpath ${SOURCE.attributes.java_classdir}
${SOURCES.attributes.java_classname}',
'RMICFLAGS': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'RPCGEN': 'rpcgen',
'RPCGENCLIENTFLAGS': [],
'RPCGENFLAGS': [],
'RPCGENHEADERFLAGS': [],
'RPCGENSERVICEFLAGS': [],
'RPCGENXDRFLAGS': [],
'SCANNERS': [<SCons.Scanner.Base object at 0x2b9d559eb750>],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHDC': '$DC',
'SHDCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-fPIC -of$TARGET $SOURCES',
'SHDLIBVERSION': '$SHLIBVERSION',
'SHDLIBVERSIONFLAGS': [],
'SHDLINK': '$DC',
'SHDLINKCOM': '$DLINK -of$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS
$__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS',
'SHDLINKFLAGS': ['$DLINKFLAGS', '-shared',
'-defaultlib=libphobos2.so'],
Post by Bill Deegan
Post by Norio Takemoto
'SHELL': 'sh',
'SHF03COM': '$SHF03 -o $TARGET -c $SHF03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF03FLAGS': ['$F03FLAGS'],
'SHF03PPCOM': '$SHF03 -o $TARGET -c $SHF03FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF08COM': '$SHF08 -o $TARGET -c $SHF08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF08FLAGS': ['$F08FLAGS'],
'SHF08PPCOM': '$SHF08 -o $TARGET -c $SHF08FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF77': '$F77',
'SHF77COM': '$SHF77 -o $TARGET -c $SHF77FLAGS $_F77INCFLAGS $SOURCES',
'SHF77FLAGS': ['$F77FLAGS', '-fPIC'],
'SHF77PPCOM': '$SHF77 -o $TARGET -c $SHF77FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F77INCFLAGS $SOURCES',
'SHF90': '$F90',
'SHF90COM': '$SHF90 -o $TARGET -c $SHF90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF90FLAGS': ['$F90FLAGS', '-fPIC'],
'SHF90PPCOM': '$SHF90 -o $TARGET -c $SHF90FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF95': '$F95',
'SHF95COM': '$SHF95 -o $TARGET -c $SHF95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF95FLAGS': ['$F95FLAGS', '-fPIC'],
'SHF95PPCOM': '$SHF95 -o $TARGET -c $SHF95FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRAN': '$FORTRAN',
'SHFORTRANCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRANFLAGS': ['$FORTRANFLAGS', '-fPIC'],
'SHFORTRANPPCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHLIBEMITTER': [<function shlib_emitter at 0x2b9d561a9a28>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.so',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS
$__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SMARTLINK': <function smart_link at 0x2b9d561a9938>,
'SPAWN': <function subprocess_spawn at 0x2b9d56158cf8>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'TAR': 'tar',
'TARCOM': '$TAR $TARFLAGS -f $TARGET $SOURCES',
'TARFLAGS': ['-c'],
'TARGET_ARCH': None,
'TARGET_OS': None,
'TARSUFFIX': '.tar',
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'ifort',
'gas',
'ar',
'dmd',
'filesystem',
'rpcgen',
'jar',
'javac',
'rmic',
'dvipdf',
'gs',
'tar',
'zip'],
'WIXCANDLE': 'candle.exe',
'WIXLIGHT': 'light.exe',
'ZIP': 'zip',
'ZIPCOM': <SCons.Action.FunctionAction object at 0x2b9d561ee990>,
'ZIPCOMPRESSION': 8,
'ZIPFLAGS': [],
'ZIPROOT': [],
'ZIPSUFFIX': '.zip',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX,
__env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_DDEBUGFLAGS': '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}',
'_DFLAGS': '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}',
'_DINCFLAGS': '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__,
RDirs, TARGET, SOURCE)}',
'_DLIBDIRFLAGS': '${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)}',
'_DLIBFLAGS': '${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_DRPATH': '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}',
'_DVERFLAGS': '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX,
__env__)}',
Post by Bill Deegan
Post by Norio Takemoto
'_F03INCFLAGS': '$( ${_concat(INCF03PREFIX, F03PATH, INCF03SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F08INCFLAGS': '$( ${_concat(INCF08PREFIX, F08PATH, INCF08SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F77INCFLAGS': '$( ${_concat(INCF77PREFIX, F77PATH, INCF77SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F90INCFLAGS': '$( ${_concat(INCF90PREFIX, F90PATH, INCF90SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F95INCFLAGS': '$( ${_concat(INCF95PREFIX, F95PATH, INCF95SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANINCFLAGS': '$( ${_concat(INCFORTRANPREFIX, FORTRANPATH,
INCFORTRANSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANMODFLAG': '$( ${_concat(FORTRANMODDIRPREFIX, FORTRANMODDIR,
FORTRANMODDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_JARCOM': '$JAR $_JARFLAGS $TARGET $_JARMANIFEST $_JARSOURCES',
'_JARFLAGS': <function jarFlags at 0x2b9d561beb90>,
'_JARMANIFEST': <function jarManifest at 0x2b9d561beb18>,
'_JARSOURCES': <function jarSources at 0x2b9d561beaa0>,
'_JAVABOOTCLASSPATH': '${_javapathopt("-bootclasspath",
"JAVABOOTCLASSPATH")} ',
'_JAVACCOM': '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH
-d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES',
'_JAVACLASSPATH': '${_javapathopt("-classpath", "JAVACLASSPATH")} ',
'_JAVASOURCEPATH': '${_javapathopt("-sourcepath", "JAVASOURCEPATH",
"_JAVASOURCEPATHDEFAULT")} ',
'_JAVASOURCEPATHDEFAULT': '${TARGET.attributes.java_sourcedir}',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS
-Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHDLIBSONAME': '${DShLibSonameGenerator(__env__,TARGET)}',
'_SHDLIBVERSIONFLAGS': '$SHDLIBVERSIONFLAGS -L-soname=$_SHDLIBSONAME',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'${__libversionflags(__env__,"LDMODULEVERSION","_
LDMODULEVERSIONFLAGS")}',
Post by Bill Deegan
Post by Norio Takemoto
'__RPATH': '$_RPATH',
'${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x2b9d559f85f0>,
'_concat': <function _concat at 0x2b9d559f8398>,
'_defines': <function _defines at 0x2b9d559f8578>,
'_javapathopt': <class 'SCons.Tool.javac.pathopt'>,
'_stripixes': <function _stripixes at 0x2b9d559f8488>}
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```
I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.
Sincerely,
Norio
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
--
Norio TAKEMOTO
Esry Group, Department of Physics, Kansas State University
1228 N. 17th Street, 304 Cardwell Hall
Manhattan, KS 66506-2604, USA
Tel: +1 (785) 532-3384
Web: noriotakemoto.com
Norio Takemoto
2018-03-17 03:31:23 UTC
Permalink
Dear Bill,

thank you, but I got the following error.

scons: Building targets ...
ilink /O:main main.o
sh: 1: ilink: not found
scons: *** [main] Error 127
scons: building terminated because of errors.

Just to get the build done, I found that the following works:

env = Environment(
FORTRANFILESUFFIXES=['.F', '.f', '.F90', '.f90'])

However, I don't understand how `.i90` or `.I90` shows up by default.

I found that SCons v.3.0.0 on another machine does not have this issue.

I started to see that SCons looks into some information in each
machine and sets up the construction variable. I would like to know
the process better.

Sincerely,
Norio
Post by Bill Deegan
env = Environment(tools=['f90','ifort','ilink'])
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
-Bill
Post by Norio Takemoto
Dear Bill,
thank you for your reply. I'm using Intel ifort 17.0.3.
Sincerely,
Norio
Post by Bill Deegan
Norio,
What fortran compiler are you using?
-Bill
On Fri, Mar 16, 2018 at 5:40 PM, Norio Takemoto
Post by Norio Takemoto
Dear Scons User Mailing List,
I am having a problem with building a program from a Fortran 90 source
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in the
source code of scons, or are they set while scons starts up in my
environment?
Below is some reference information about my environment.
I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`
It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.
Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.
program s000
implicit none
write(*,*) 'hello'
end program s000
My `Sconstruct` is
env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
```
norio$ scons
scons: Reading SConscript files ...
-----------------------
{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rc'],
'AS': 'as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c
-o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BUILDERS': {'Zip': <SCons.Builder.BuilderBase object at
0x2b9d561eead0>, 'Jar': <SCons.Builder.BuilderBase object at
0x2b9d5620ba10>, 'StaticLibrary': <SCons.Builder.BuilderBase object at
0x2b9d5620b250>, 'Program': <SCons.Builder.BuilderBase object at
0x2b9d561eebd0>, 'ProgramAllAtOnce': <SCons.Builder.BuilderBase object
at 0x2b9d5620b490>, 'RPCGenHeader': <SCons.Builder.BuilderBase object
at 0x2b9d5620b6d0>, 'Object': <SCons.Builder.CompositeBuilder object
at 0x2b9d561eee90>, 'RPCGenXDR': <SCons.Builder.BuilderBase object at
0x2b9d5620b7d0>, 'JavaClassDir': <SCons.Builder.BuilderBase object at
0x2b9d5620bcd0>, 'LoadableModule': <SCons.Builder.BuilderBase object
at 0x2b9d561eed50>, 'CopyAs': <SCons.Builder.BuilderBase object at
0x2b9d5620b550>, 'SharedLibrary': <SCons.Builder.BuilderBase object at
0x2b9d561eeb10>, 'CopyTo': <SCons.Builder.BuilderBase object at
0x2b9d5620b510>, 'PDF': <SCons.Builder.CompositeBuilder object at
0x2b9d5620bf50>, 'StaticObject': <SCons.Builder.CompositeBuilder
<SCons.Builder.CompositeBuilder object at 0x2b9d5620bb50>,
'RPCGenClient': <SCons.Builder.BuilderBase object at 0x2b9d5620b610>},
'CC': 'gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': [],
'CCVERSION': '4.8.4',
'CFILESUFFIX': '.c',
'CFLAGS': [],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'COPYSTR': 'Copy file(s): "$SOURCES" to "$TARGETS"',
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': [],
'CXXVERSION': '4.8.4',
'DC': 'dmd',
'DCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-of$TARGET $SOURCES',
'DDEBUG': [],
'DDEBUGPREFIX': '-debug=',
'DDEBUGSUFFIX': '',
'DFILESUFFIX': '.d',
'DFLAGPREFIX': '-',
'DFLAGS': [],
'DFLAGSUFFIX': '',
'DINCPREFIX': '-I',
'DINCSUFFIX': '',
'DLIB': 'ar cr',
'DLIBCOM': '$DLIB $_DLIBFLAGS $TARGET $SOURCES $_DLIBFLAGS',
'DLIBDIRPREFIX': '-L-L',
'DLIBDIRSUFFIX': '',
'DLIBFLAGPREFIX': '-',
'DLIBFLAGSUFFIX': '',
'DLIBLINKPREFIX': '-L-l',
'DLIBLINKSUFFIX': '',
'DLINK': '$DC',
'DLINKCOM': '$DLINK -of$TARGET $DLINKFLAGS $__DRPATH $SOURCES
$_DLIBDIRFLAGS $_DLIBFLAGS',
'DLINKFLAGS': [],
'DPATH': ['#/'],
'DRPATHPREFIX': '-L-rpath=',
'DRPATHSUFFIX': '',
'DSUFFIXES': ['.d'],
'DShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'DVERPREFIX': '-version=',
'DVERSIONS': [],
'DVERSUFFIX': '',
'DVIPDF': 'dvipdf',
'DVIPDFCOM': 'cd ${TARGET.dir} && $DVIPDF $DVIPDFFLAGS
${SOURCE.file} ${TARGET.file}',
'DVIPDFFLAGS': [],
'Dir': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d10>,
'Dirs': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d50>,
'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
'ESCAPE': <function escape at 0x2b9d55967b90>,
'F03COM': '$F03 -o $TARGET -c $F03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F03FLAGS': [],
'F03PPCOM': '$F03 -o $TARGET -c $F03FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F08COM': '$F08 -o $TARGET -c $F08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F08FLAGS': [],
'F08PPCOM': '$F08 -o $TARGET -c $F08FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F77': 'ifort',
'F77COM': '$F77 -o $TARGET -c $F77FLAGS $_F77INCFLAGS $SOURCES',
'F77FLAGS': [],
'F77PPCOM': '$F77 -o $TARGET -c $F77FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F77INCFLAGS $SOURCES',
'F90': 'ifort',
'F90COM': '$F90 -o $TARGET -c $F90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F90FILESUFFIXES': ['.i90'],
'F90FLAGS': [],
'F90PPCOM': '$F90 -o $TARGET -c $F90FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'F95': 'ifort',
'F95COM': '$F95 -o $TARGET -c $F95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'F95FLAGS': [],
'F95PPCOM': '$F95 -o $TARGET -c $F95FLAGS $CPPFLAGS $_CPPDEFFLAGS
$_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRAN': 'ifort',
'FORTRANCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANFLAGS': [],
'FORTRANMODDIR': '',
'FORTRANMODDIRPREFIX': '-module ',
'FORTRANMODDIRSUFFIX': '',
'FORTRANMODPREFIX': '',
'FORTRANMODSUFFIX': '.mod',
'FORTRANPPCOM': '$FORTRAN -o $TARGET -c $FORTRANFLAGS $CPPFLAGS
$_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at
0x2b9d559f1d90>,
'GS': 'gs',
'GSCOM': '$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES',
'GSFLAGS': ['-dNOPAUSE', '-dBATCH', '-sDEVICE=pdfwrite'],
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCF03PREFIX': '$INCPREFIX',
'INCF03SUFFIX': '$INCSUFFIX',
'INCF08PREFIX': '$INCPREFIX',
'INCF08SUFFIX': '$INCSUFFIX',
'INCF77PREFIX': '$INCPREFIX',
'INCF77SUFFIX': '$INCSUFFIX',
'INCF90PREFIX': '$INCPREFIX',
'INCF90SUFFIX': '$INCSUFFIX',
'INCF95PREFIX': '$INCPREFIX',
'INCF95SUFFIX': '$INCSUFFIX',
'INCFORTRANPREFIX': '$INCPREFIX',
'INCFORTRANSUFFIX': '$INCSUFFIX',
'INCPREFIX': '-I',
'INCSUFFIX': '',
'JAR': 'jar',
'JARCOM': "${TEMPFILE('$_JARCOM','$JARCOMSTR')}",
'JARFLAGS': ['cf'],
'JARSUFFIX': '.jar',
'JAVABOOTCLASSPATH': [],
'JAVAC': 'javac',
'JAVACCOM': "${TEMPFILE('$_JAVACCOM','$JAVACCOMSTR')}",
'JAVACFLAGS': [],
'JAVACLASSPATH': [],
'JAVACLASSSUFFIX': '.class',
'JAVASOURCEPATH': [],
'JAVASUFFIX': '.java',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS
$__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x2b9d561a9aa0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function
_versioned_ldmod_name at 0x2b9d561a9c08>,
'VersionedLdModSoname': <function
_versioned_ldmod_soname at 0x2b9d561a9de8>,
'VersionedLdModSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedLdModSymlinks': <function
_versioned_ldmod_symlinks at 0x2b9d561a9f50>,
'VersionedShLibName': <function
_versioned_shlib_name at 0x2b9d561a9b90>,
'VersionedShLibSoname': <function
_versioned_shlib_soname at 0x2b9d561a9d70>,
'VersionedShLibSuffix': <function
_versioned_lib_suffix at 0x2b9d561a9c80>,
'VersionedShLibSymlinks': <function
_versioned_shlib_symlinks at 0x2b9d561a9ed8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES
$_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': [],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f1250>,
'MAXLINELENGTH': 128072,
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PDFCOM': ['$DVIPDFCOM'],
'PDFPREFIX': '',
'PDFSUFFIX': '.pdf',
'PLATFORM': 'posix',
'PROGPREFIX': '',
'PROGSUFFIX': '',
'PSPAWN': <function piped_env_spawn at 0x2b9d56158de8>,
'RANLIB': 'ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at 0x2b9d559f1dd0>,
'RMIC': 'rmic',
'RMICCOM': '$RMIC $RMICFLAGS -d ${TARGET.attributes.java_lookupdir}
-classpath ${SOURCE.attributes.java_classdir}
${SOURCES.attributes.java_classname}',
'RMICFLAGS': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'RPCGEN': 'rpcgen',
'RPCGENCLIENTFLAGS': [],
'RPCGENFLAGS': [],
'RPCGENHEADERFLAGS': [],
'RPCGENSERVICEFLAGS': [],
'RPCGENXDRFLAGS': [],
'SCANNERS': [<SCons.Scanner.Base object at 0x2b9d559eb750>],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHDC': '$DC',
'SHDCOM': '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c
-fPIC -of$TARGET $SOURCES',
'SHDLIBVERSION': '$SHLIBVERSION',
'SHDLIBVERSIONFLAGS': [],
'SHDLINK': '$DC',
'SHDLINKCOM': '$DLINK -of$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS
$__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS',
'SHDLINKFLAGS': ['$DLINKFLAGS', '-shared',
'-defaultlib=libphobos2.so'],
'SHELL': 'sh',
'SHF03COM': '$SHF03 -o $TARGET -c $SHF03FLAGS $_F03INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF03FLAGS': ['$F03FLAGS'],
'SHF03PPCOM': '$SHF03 -o $TARGET -c $SHF03FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F03INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF08COM': '$SHF08 -o $TARGET -c $SHF08FLAGS $_F08INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF08FLAGS': ['$F08FLAGS'],
'SHF08PPCOM': '$SHF08 -o $TARGET -c $SHF08FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F08INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF77': '$F77',
'SHF77COM': '$SHF77 -o $TARGET -c $SHF77FLAGS $_F77INCFLAGS $SOURCES',
'SHF77FLAGS': ['$F77FLAGS', '-fPIC'],
'SHF77PPCOM': '$SHF77 -o $TARGET -c $SHF77FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F77INCFLAGS $SOURCES',
'SHF90': '$F90',
'SHF90COM': '$SHF90 -o $TARGET -c $SHF90FLAGS $_F90INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF90FLAGS': ['$F90FLAGS', '-fPIC'],
'SHF90PPCOM': '$SHF90 -o $TARGET -c $SHF90FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F90INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHF95': '$F95',
'SHF95COM': '$SHF95 -o $TARGET -c $SHF95FLAGS $_F95INCFLAGS
$_FORTRANMODFLAG $SOURCES',
'SHF95FLAGS': ['$F95FLAGS', '-fPIC'],
'SHF95PPCOM': '$SHF95 -o $TARGET -c $SHF95FLAGS $CPPFLAGS
$_CPPDEFFLAGS $_F95INCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRAN': '$FORTRAN',
'SHFORTRANCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHFORTRANFLAGS': ['$FORTRANFLAGS', '-fPIC'],
'SHFORTRANPPCOM': '$SHFORTRAN -o $TARGET -c $SHFORTRANFLAGS
$CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS $_FORTRANMODFLAG $SOURCES',
'SHLIBEMITTER': [<function shlib_emitter at 0x2b9d561a9a28>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.so',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS
$__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SMARTLINK': <function smart_link at 0x2b9d561a9938>,
'SPAWN': <function subprocess_spawn at 0x2b9d56158cf8>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at
0x2b9d559f11d0>,
'TAR': 'tar',
'TARCOM': '$TAR $TARFLAGS -f $TARGET $SOURCES',
'TARFLAGS': ['-c'],
'TARGET_ARCH': None,
'TARGET_OS': None,
'TARSUFFIX': '.tar',
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'ifort',
'gas',
'ar',
'dmd',
'filesystem',
'rpcgen',
'jar',
'javac',
'rmic',
'dvipdf',
'gs',
'tar',
'zip'],
'WIXCANDLE': 'candle.exe',
'WIXLIGHT': 'light.exe',
'ZIP': 'zip',
'ZIPCOM': <SCons.Action.FunctionAction object at 0x2b9d561ee990>,
'ZIPCOMPRESSION': 8,
'ZIPFLAGS': [],
'ZIPROOT': [],
'ZIPSUFFIX': '.zip',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX,
__env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_DDEBUGFLAGS': '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}',
'_DFLAGS': '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}',
'_DINCFLAGS': '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__,
RDirs, TARGET, SOURCE)}',
'_DLIBDIRFLAGS': '${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)}',
'_DLIBFLAGS': '${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_DRPATH': '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}',
'_DVERFLAGS': '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}',
'_F03INCFLAGS': '$( ${_concat(INCF03PREFIX, F03PATH, INCF03SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F08INCFLAGS': '$( ${_concat(INCF08PREFIX, F08PATH, INCF08SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F77INCFLAGS': '$( ${_concat(INCF77PREFIX, F77PATH, INCF77SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F90INCFLAGS': '$( ${_concat(INCF90PREFIX, F90PATH, INCF90SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_F95INCFLAGS': '$( ${_concat(INCF95PREFIX, F95PATH, INCF95SUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANINCFLAGS': '$( ${_concat(INCFORTRANPREFIX, FORTRANPATH,
INCFORTRANSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_FORTRANMODFLAG': '$( ${_concat(FORTRANMODDIRPREFIX, FORTRANMODDIR,
FORTRANMODDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_JARCOM': '$JAR $_JARFLAGS $TARGET $_JARMANIFEST $_JARSOURCES',
'_JARFLAGS': <function jarFlags at 0x2b9d561beb90>,
'_JARMANIFEST': <function jarManifest at 0x2b9d561beb18>,
'_JARSOURCES': <function jarSources at 0x2b9d561beaa0>,
'_JAVABOOTCLASSPATH': '${_javapathopt("-bootclasspath",
"JAVABOOTCLASSPATH")} ',
'_JAVACCOM': '$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH
-d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCES',
'_JAVACLASSPATH': '${_javapathopt("-classpath", "JAVACLASSPATH")} ',
'_JAVASOURCEPATH': '${_javapathopt("-sourcepath", "JAVASOURCEPATH",
"_JAVASOURCEPATHDEFAULT")} ',
'_JAVASOURCEPATHDEFAULT': '${TARGET.attributes.java_sourcedir}',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS
-Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX,
__env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX,
LIBPREFIXES, LIBSUFFIXES, __env__)}',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHDLIBSONAME': '${DShLibSonameGenerator(__env__,TARGET)}',
'_SHDLIBVERSIONFLAGS': '$SHDLIBVERSIONFLAGS
-L-soname=$_SHDLIBSONAME',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x2b9d559f85f0>,
'_concat': <function _concat at 0x2b9d559f8398>,
'_defines': <function _defines at 0x2b9d559f8578>,
'_javapathopt': <class 'SCons.Tool.javac.pathopt'>,
'_stripixes': <function _stripixes at 0x2b9d559f8488>}
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```
I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.
Sincerely,
Norio
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
--
Norio TAKEMOTO
Esry Group, Department of Physics, Kansas State University
1228 N. 17th Street, 304 Cardwell Hall
Manhattan, KS 66506-2604, USA
Tel: +1 (785) 532-3384
Web: noriotakemoto.com
--
Norio TAKEMOTO

Esry Group, Department of Physics, Kansas State University
1228 N. 17th Street, 304 Cardwell Hall
Manhattan, KS 66506-2604, USA

Tel: +1 (785) 532-3384
E-mail: ***@phys.ksu.edu / ***@gmail.com
Web: noriotakemoto.com
Bill Deegan
2018-03-17 17:05:35 UTC
Permalink
Here's the code which generates the default tools to load per platform.

It will walk each type of tool and try to initialize each until it finds
one of each type.
In the process of doing so, it will configure various Environment()
variables
(you can see the list in the manpage:
http://scons.org/doc/production/HTML/scons-man.html )

I think the problem is that ifort doesn't set .f90 as a suffix by default.

Can you add the following to your ifort.py in SCons/Tool

Change:

from .FortranCommon import add_all_to_env

to

from .FortranCommon import add_all_to_env, add_f90_to_env


After:

SCons.Tool.SourceFileScanner.add_scanner('.i90', fscan)

Add:

add_f90_to_env(env)


Then remove the FORTRANFILESUFFIXES from your Environment() and see if
that works.

-Bill
Post by Norio Takemoto
Dear Bill,
thank you, but I got the following error.
scons: Building targets ...
ilink /O:main main.o
sh: 1: ilink: not found
scons: *** [main] Error 127
scons: building terminated because of errors.
env = Environment(
FORTRANFILESUFFIXES=['.F', '.f', '.F90', '.f90'])
However, I don't understand how `.i90` or `.I90` shows up by default.
I found that SCons v.3.0.0 on another machine does not have this issue.
I started to see that SCons looks into some information in each
machine and sets up the construction variable. I would like to know
the process better.
Sincerely,
Norio
Post by Bill Deegan
env = Environment(tools=['f90','ifort','ilink'])
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
-Bill
On Fri, Mar 16, 2018 at 10:19 PM, Norio Takemoto <
Post by Norio Takemoto
Dear Bill,
thank you for your reply. I'm using Intel ifort 17.0.3.
Sincerely,
Norio
Post by Bill Deegan
Norio,
What fortran compiler are you using?
-Bill
On Fri, Mar 16, 2018 at 5:40 PM, Norio Takemoto
Post by Norio Takemoto
Dear Scons User Mailing List,
I am having a problem with building a program from a Fortran 90
source
Post by Bill Deegan
Post by Norio Takemoto
Post by Bill Deegan
Post by Norio Takemoto
file with Scons v3.0.0 on Ubuntu 14.04, and I realized that scons
expects suffix `.i90`, `.I90`, `.i`, or `.I` for Fortran90 or some
other Fortran standards, while I am familiar with suffix `.f90`,
`.F90`, `.f`, and `.F`. More precisely, I saw that the relevant Scons
'F90FILESUFFIXES': ['.i90'],
'FORTRANFILESUFFIXES': ['.i'],
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
What is the reason to replace f and F with i and I in some places? Is
it done intentionally? Are these variables hard-coded somewhere in
the
Post by Bill Deegan
Post by Norio Takemoto
Post by Bill Deegan
Post by Norio Takemoto
source code of scons, or are they set while scons starts up in my
environment?
Below is some reference information about my environment.
I installed this Scons v3.0.0 by downloading the tar.gz file from
http://scons.org/pages/download.html
and doing
`$ python setup.py install --prefix=$HOME/opt/scons`
It looks Scons v3.0.1 also sets the suffixes in a similar way as far
as I tried the 'scons-local' package.
Scons v.2.4.1 that I installed on another machine via the apt package
of Ubuntu 16.04 recognizes `.f90`, `.F90`, `.f`, and `.F`.
program s000
implicit none
write(*,*) 'hello'
end program s000
My `Sconstruct` is
env = Environment()
print('-----------------------')
print(env.Dump())
print('-----------------------')
env.Program('main.f90')
```
norio$ scons
scons: Reading SConscript files ...
-----------------------
...
Post by Bill Deegan
Post by Norio Takemoto
Post by Bill Deegan
Post by Norio Takemoto
'FORTRANSUFFIXES': [ '.i',
'.fpp',
'.FPP',
'.I',
'.f77',
'.F77',
'.i90',
'.I90',
'.f95',
'.F95',
'.f03',
'.F03',
'.f08',
'.F08'],
...
Post by Bill Deegan
Post by Norio Takemoto
Post by Bill Deegan
Post by Norio Takemoto
-----------------------
scons: done reading SConscript files.
scons: Building targets ...
gcc -o main main.f90
gcc: error trying to exec 'f951': execvp: No such file or directory
scons: *** [main] Error 1
scons: building terminated because of errors.
norio$
```
I would appreciate it if you could kindly explain me how the
construction variables are initialized or give me any relevant
information.
Sincerely,
Norio
_______________________________________________
Loading...