kahip: Fix issue #17638 (make SConstruct files python3 friendly) (#17642)

As discussed in issue #17638, wherein kahip fails to build when
scons is dependent on python@3.

This converts the print statements in various SConstruct files
into python3 friendly print functions.

I found most of the affected SConstruct files in both @2.00 and
the later versions I found on web, but some files were only in @2.00.
I split the patches into two files for that reason, but have not
tried the later versions.
This commit is contained in:
Tom Payerle 2020-07-30 23:22:40 -04:00 committed by GitHub
parent f09656e3f8
commit 58911d8248
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 140 additions and 0 deletions

View file

@ -0,0 +1,30 @@
diff -Naur spack-src/SConstruct spack-src.patched/SConstruct
--- spack-src/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/SConstruct 2020-07-21 13:26:11.212509775 -0400
@@ -55,11 +55,11 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['optimized','optimized_output','debug']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
if not env['program'] in ['kaffpa', 'kaffpaE', 'partition_to_vertex_separator','improve_vertex_separator','library','graphchecker','label_propagation','evaluator','node_separator']:
- print 'Illegal value for program: %s' % env['program']
+ print('Illegal value for program: %s' % env['program'])
sys.exit(1)
# Special configuration for 64 bit machines.
@@ -104,10 +104,10 @@
#by D. Luxen
#if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
- #print "argtable library not found. Exiting"
+ #print("argtable library not found. Exiting")
#Exit(-1)
#if not conf.CheckCXXHeader('mpi.h'):
- #print "openmpi header not found. Exiting"
+ #print("openmpi header not found. Exiting")
#Exit(-1)
#
#

View file

@ -0,0 +1,101 @@
diff -Naur spack-src/interface/SConstruct spack-src.patched/interface/SConstruct
--- spack-src/interface/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/interface/SConstruct 2020-07-21 13:25:41.586597330 -0400
@@ -33,7 +33,7 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['debug', 'optimized', 'pdebug', 'profilingoptimized']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
# Special configuration for 64 bit machines.
diff -Naur spack-src/misc/example_library_call/SConstruct spack-src.patched/misc/example_library_call/SConstruct
--- spack-src/misc/example_library_call/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/misc/example_library_call/SConstruct 2020-07-21 12:06:05.543455286 -0400
@@ -53,11 +53,11 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['optimized','optimized_output','debug']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
if not env['program'] in ['interfacetest']:
- print 'Illegal value for program: %s' % env['program']
+ print('Illegal value for program: %s' % env['program'])
sys.exit(1)
# Special configuration for 64 bit machines.
diff -Naur spack-src/parallel/modified_kahip/interface/SConstruct spack-src.patched/parallel/modified_kahip/interface/SConstruct
--- spack-src/parallel/modified_kahip/interface/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/parallel/modified_kahip/interface/SConstruct 2020-07-21 12:06:36.461407930 -0400
@@ -33,7 +33,7 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['debug', 'optimized', 'pdebug', 'profilingoptimized']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
# Special configuration for 64 bit machines.
diff -Naur spack-src/parallel/modified_kahip/SConstruct spack-src.patched/parallel/modified_kahip/SConstruct
--- spack-src/parallel/modified_kahip/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/parallel/modified_kahip/SConstruct 2020-07-21 13:23:37.148764755 -0400
@@ -55,11 +55,11 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['optimized','optimized_output','debug']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
if not env['program'] in ['kaffpa', 'kaffpaE', 'partition_to_vertex_separator','library','graphchecker','label_propagation','interfacetest']:
- print 'Illegal value for program: %s' % env['program']
+ print('Illegal value for program: %s' % env['program'])
sys.exit(1)
# Special configuration for 64 bit machines.
@@ -98,10 +98,10 @@
#by D. Luxen
#if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
- #print "argtable library not found. Exiting"
+ #print("argtable library not found. Exiting")
#Exit(-1)
#if not conf.CheckCXXHeader('mpi.h'):
- #print "openmpi header not found. Exiting"
+ #print("openmpi header not found. Exiting")
#Exit(-1)
#
#
diff -Naur spack-src/parallel/parallel_src/SConstruct spack-src.patched/parallel/parallel_src/SConstruct
--- spack-src/parallel/parallel_src/SConstruct 2017-07-25 08:41:27.000000000 -0400
+++ spack-src.patched/parallel/parallel_src/SConstruct 2020-07-21 13:25:13.102720046 -0400
@@ -55,11 +55,11 @@
env = Environment(options=opts, ENV=os.environ)
if not env['variant'] in ['optimized','optimized_nooutput','debug']:
- print 'Illegal value for variant: %s' % env['variant']
+ print('Illegal value for variant: %s' % env['variant'])
sys.exit(1)
if not env['program'] in ['parhip','edge_list_to_metis_graph','friendster_list_to_metis_graph','parallel_label_compress_reps','yahoo_to_metis','parmetis_driver','graph2binary','graph2binary_external','readbgf','toolbox']:
- print 'Illegal value for program: %s' % env['program']
+ print('Illegal value for program: %s' % env['program'])
sys.exit(1)
# Special configuration for 64 bit machines.
@@ -104,10 +104,10 @@
#by D. Luxen
#if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
- #print "argtable library not found. Exiting"
+ #print("argtable library not found. Exiting")
#Exit(-1)
#if not conf.CheckCXXHeader('mpi.h'):
- #print "openmpi header not found. Exiting"
+ #print("openmpi header not found. Exiting")
#Exit(-1)
#
#

View file

@ -35,6 +35,15 @@ class Kahip(SConsPackage):
conflicts('%apple-clang')
conflicts('%clang')
# Fix SConstruct files to be python3 friendly (convert print from a
# statement to a function)
# Split into 2 patch files:
# *) first file patches Sconstruct files present in all versions (from
# 2.00 to 2.11)
# *) second is for files only present in 2.00
patch('fix-sconstruct-for-py3.patch', when='@2: ^python@3:')
patch('fix-sconstruct-for-py3-v2.00.patch', when='@2.00 ^python@3:')
def patch(self):
"""Internal compile.sh scripts hardcode number of cores to build with.
Filter these out so Spack can control it."""