From 81d50a065f4f7874c078e57bffc4da1b66763ccb Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 13 Nov 2022 21:08:29 -0500 Subject: [PATCH 1/6] Basic, untested commit of SConstruct files --- .../build/SConstruct | 20 +++++++++++++++++++ .../external/ANN/src/SConscript | 2 ++ .../src/SConscript | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript create mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct new file mode 100644 index 00000000..30fefeba --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -0,0 +1,20 @@ +model = ARGUMENTS.get('MODEL') +core_dir = ARGUMENTS.get('CORE_DIR') +output_root = ARGUMENTS.get('OUTPUT') + +env = Environment( + tools=['default', 'mingw'], + CPPPATH=[ + Dir(f'{core_dir}/include'), + Dir(f'{core_dir}/external/ANN/include'), + ], +) + +VariantDir(output_root, f'{core_dir}/src', duplicate=False) +VariantDir(f'{output_root}/external', f'{core_dir}/external', duplicate=False) + +Export('env') +SConscript(f'{core_dir}/external/ANN/src/SConscript') +SConscript(f'{core_dir}/src/SConscript') + +env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript new file mode 100644 index 00000000..b880a0eb --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -0,0 +1,2 @@ +Import('env') +env.StaticLibrary('ANN') # TODO diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript new file mode 100644 index 00000000..7871a974 --- /dev/null +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -0,0 +1,2 @@ +Import('env') +env.StaticLibrary('spatialpy-core') # TODO From f59075f3673587b0fe6dab65ce3fd8bc42946351 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 12 Jan 2023 20:29:24 -0500 Subject: [PATCH 2/6] Update SConscript and SConstruct files - Fix variant directories and env defines - Add source files to ANN and src --- .../build/SConstruct | 16 +++++++++++----- .../external/ANN/src/SConscript | 17 ++++++++++++++++- .../ssa_sdpd-c-simulation-engine/src/SConscript | 13 ++++++++++++- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index 30fefeba..3b2d5866 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -1,3 +1,5 @@ +import os + model = ARGUMENTS.get('MODEL') core_dir = ARGUMENTS.get('CORE_DIR') output_root = ARGUMENTS.get('OUTPUT') @@ -8,13 +10,17 @@ env = Environment( Dir(f'{core_dir}/include'), Dir(f'{core_dir}/external/ANN/include'), ], + LIBPATH=[ + Dir(f'{output_root}/external/ANN/src'), + Dir(f'{output_root}/src'), + ], + ENV=os.environ, + # When MSVC (or any other compilers) are supported, update this to be a compiler-specific flag + CXXFLAGS=['-std=c++14'], ) -VariantDir(output_root, f'{core_dir}/src', duplicate=False) -VariantDir(f'{output_root}/external', f'{core_dir}/external', duplicate=False) - Export('env') -SConscript(f'{core_dir}/external/ANN/src/SConscript') -SConscript(f'{core_dir}/src/SConscript') +SConscript(f'{core_dir}/external/ANN/src/SConscript', variant_dir=f'{output_root}/external/ANN/src', duplicate=False) +SConscript(f'{core_dir}/src/SConscript', variant_dir=f'{output_root}/src', duplicate=False) env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript index b880a0eb..07c74d22 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -1,2 +1,17 @@ Import('env') -env.StaticLibrary('ANN') # TODO +env.StaticLibrary('ANN', [ + 'ANN.cpp', + 'brute.cpp', + 'kd_tree.cpp', + 'kd_util.cpp', + 'kd_split.cpp', + 'kd_dump.cpp', + 'kd_search.cpp', + 'kd_pr_search.cpp', + 'kd_fix_rad_search.cpp', + 'bd_tree.cpp', + 'bd_search.cpp', + 'bd_pr_search.cpp', + 'bd_fix_rad_search.cpp', + 'perf.cpp' +]) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 7871a974..e06ceb57 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,2 +1,13 @@ Import('env') -env.StaticLibrary('spatialpy-core') # TODO +env.StaticLibrary('spatialpy-core', [ + 'count_cores.c', + 'model.c', + 'NRMConstant_v5.cpp', + 'output.c', + 'particle.cpp', + 'pthread_barrier.c', + 'read_lammps_input_file.c', + 'simulate.cpp', + 'simulate_rdme.cpp', + 'simulate_threads.c' +]) From ae4107c8917a65e999f8864bedf10bde3fde5911 Mon Sep 17 00:00:00 2001 From: Josh C Date: Sun, 15 Jan 2023 21:16:23 -0500 Subject: [PATCH 3/6] Configure SCons in solver object - Modified `solver.py` to reference SCons - Fixed debugging errors in compile method - Updated SCons files to define lib in main script --- .../build/SConstruct | 24 ++++++--- .../external/ANN/src/SConscript | 3 +- .../src/SConscript | 3 +- spatialpy/solvers/solver.py | 49 +++++++------------ 4 files changed, 37 insertions(+), 42 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index 3b2d5866..e77b415e 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -1,26 +1,34 @@ import os model = ARGUMENTS.get('MODEL') -core_dir = ARGUMENTS.get('CORE_DIR') -output_root = ARGUMENTS.get('OUTPUT') +root_dir = ARGUMENTS.get('ROOT') +root_include_dir = ARGUMENTS.get('ROOTINC') +core_dir = ARGUMENTS.get('COREDIR') +build_dir = ARGUMENTS.get('BUILD') + +if core_dir is None: + core_dir = build_dir env = Environment( tools=['default', 'mingw'], CPPPATH=[ - Dir(f'{core_dir}/include'), - Dir(f'{core_dir}/external/ANN/include'), + Dir(f'{root_include_dir}/include'), + Dir(f'{root_include_dir}/external/ANN/include'), ], LIBPATH=[ - Dir(f'{output_root}/external/ANN/src'), - Dir(f'{output_root}/src'), + Dir(f'{core_dir}/lib'), ], ENV=os.environ, # When MSVC (or any other compilers) are supported, update this to be a compiler-specific flag CXXFLAGS=['-std=c++14'], ) +env.VariantDir(core_dir, f'{root_dir}/src', duplicate=False) +env.VariantDir(f'{core_dir}/external/ANN', f'{root_dir}/external/ANN/src', duplicate=False) Export('env') -SConscript(f'{core_dir}/external/ANN/src/SConscript', variant_dir=f'{output_root}/external/ANN/src', duplicate=False) -SConscript(f'{core_dir}/src/SConscript', variant_dir=f'{output_root}/src', duplicate=False) +ann = SConscript(f'{root_dir}/external/ANN/src/SConscript', variant_dir=f'{core_dir}/external/ANN', duplicate=False) +core = SConscript(f'{root_dir}/src/SConscript', variant_dir=core_dir, duplicate=False) +env.StaticLibrary(f'{core_dir}/lib/spatialpy-core', core) +env.StaticLibrary(f'{core_dir}/lib/ANN', ann) env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript index 07c74d22..8354d4c0 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/SConscript @@ -1,5 +1,5 @@ Import('env') -env.StaticLibrary('ANN', [ +libANN = env.Object([ 'ANN.cpp', 'brute.cpp', 'kd_tree.cpp', @@ -15,3 +15,4 @@ env.StaticLibrary('ANN', [ 'bd_fix_rad_search.cpp', 'perf.cpp' ]) +Return('libANN') diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index e06ceb57..77f1f019 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,5 +1,5 @@ Import('env') -env.StaticLibrary('spatialpy-core', [ +libspatialpy_core = env.Object([ 'count_cores.c', 'model.c', 'NRMConstant_v5.cpp', @@ -11,3 +11,4 @@ env.StaticLibrary('spatialpy-core', [ 'simulate_rdme.cpp', 'simulate_threads.c' ]) +Return('libspatialpy_core') diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index 0b4cc337..c3c544b0 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -23,6 +23,7 @@ import time import getpass import re +import sys import numpy @@ -460,7 +461,7 @@ def compile(self, debug=False, profile=False): # Match except word characters \w = ([a-zA-Z0-9_]) and \_ = _ replace with '' propfilename = re.sub(r'[^\w\_]', '', self.model_name) self.propfilename = f"{propfilename}_generated_model" - self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.c') + self.prop_file_name = os.path.join(self.build_dir, f'{self.propfilename}.cpp') if self.debug_level >= 1: print(f"Compiling Solver. Build dir: {self.build_dir}") @@ -470,51 +471,35 @@ def compile(self, debug=False, profile=False): self.__create_propensity_file(stoich_matrix, dep_graph, file_name=self.prop_file_name) # Build the solver - for make_exe_location in ["make", "mingw32-make"]: - make_exe = shutil.which("make") - if make_exe is not None: - break - if make_exe is None: - raise SimulationError("Make executable could not be found") - makefile = self.spatialpy_rootdir+'/build/Makefile' - makefile_ann = self.spatialpy_rootdir+'/external/ANN/src/Makefile.spatialpy' - - cmd_ann = [ - make_exe, '-d', '-C', self.core_dir, '-f', makefile_ann, - f'ROOTINC={self.spatialpy_rootinc}', - ] - cmd_core = [ - make_exe, '-d', '-C', self.core_dir, 'CORE', '-f', makefile, + makefile = self.spatialpy_rootdir+'/build/SConstruct' + make_cmd = [ + sys.executable, "-m", "SCons", f"-C{self.build_dir}", f"-f{makefile}", f'ROOT={self.spatialpy_rootparam}', f'ROOTINC={self.spatialpy_rootinc}', - f'BUILD={self.core_dir}', - ] - cmd_build = [ - make_exe, '-d', '-C', self.build_dir, '-I', self.core_dir, '-f', makefile, - 'ROOT=' + self.spatialpy_rootparam, - 'ROOTINC=' + self.spatialpy_rootinc, - 'COREDIR=' + self.core_dir, - 'MODEL=' + self.prop_file_name, 'BUILD='+self.build_dir + f'COREDIR={self.core_dir}', + f'MODEL={self.prop_file_name}', + f'BUILD={self.build_dir}', ] if profile: - cmd_build.append('GPROFFLAG=-pg') + # TODO: add profile/debug targets to SConstruct file + make_cmd.append('GPROFFLAG=-pg') if profile or debug: - cmd_build.append('GDB_FLAG=-g') + make_cmd.append('GDB_FLAG=-g') if self.debug_level > 1: - cmd = " && ".join([*cmd_ann, *cmd_core, *cmd_build]) + cmd = " ".join(make_cmd) print(f"cmd: {cmd}\n") try: - for cmd_target in [cmd_ann, cmd_core, cmd_build]: - result = subprocess.check_output(cmd_target, stderr=subprocess.STDOUT) - if self.debug_level > 1: - print(result.stdout.decode("utf-8")) + result = subprocess.check_output(make_cmd, stderr=subprocess.STDOUT) + if self.debug_level > 1: + print(result) except subprocess.CalledProcessError as err: try: print(err.stdout.decode("utf-8")) except Exception: pass - raise SimulationError(f"Compilation of solver failed, return_code={result.return_code}") + raise SimulationError(f"Compilation of solver failed, return_code={err.returncode}") except OSError as err: + cmd = " ".join(make_cmd) print(f"Error, execution of compilation raised an exception: {err}") print(f"cmd = {cmd}") raise SimulationError("Compilation of solver failed") from err From 44f4df71b15b85e8ba996a9082c5e41125b2a354 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 2 Feb 2023 16:42:37 -0500 Subject: [PATCH 4/6] Update file extensions in SConscript files --- .../ssa_sdpd-c-simulation-engine/src/SConscript | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 77f1f019..2c08890a 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -1,14 +1,14 @@ Import('env') libspatialpy_core = env.Object([ - 'count_cores.c', - 'model.c', + 'count_cores.cpp', + 'model.cpp', 'NRMConstant_v5.cpp', - 'output.c', + 'output.cpp', 'particle.cpp', - 'pthread_barrier.c', - 'read_lammps_input_file.c', + 'pthread_barrier.cpp', + 'read_lammps_input_file.cpp', 'simulate.cpp', 'simulate_rdme.cpp', - 'simulate_threads.c' + 'simulate_threads.cpp' ]) Return('libspatialpy_core') From 3c79cdfcd428a488a90a122e616b6865d965dd27 Mon Sep 17 00:00:00 2001 From: Josh C Date: Thu, 2 Feb 2023 16:48:47 -0500 Subject: [PATCH 5/6] Delete now-dead Makefiles --- .../build/Makefile | 36 ------ .../external/ANN/src/Makefile.spatialpy | 118 ------------------ 2 files changed, 154 deletions(-) delete mode 100644 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile delete mode 100755 spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile deleted file mode 100644 index f5c9d0d5..00000000 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -CC = gcc -C++ = g++ -CFLAGS = -c -std=c++14 -Wall -O3 -SIMFLAGS = -l. -std=c++14 -Wall -O3 -LFLAGS = -pthread -lm -#INCDIR = "$(ROOTINC)/include/" "$(ROOTINC)/external/" "$(ROOTINC)/external/ANN/include/" -#INCDIRPARAMS = $(INCDIR:%=-I%) -INCDIRPARAMS = -I$(ROOTINC)/include/ -I$(ROOTINC)/external/ -I$(ROOTINC)/external/ANN/include/ -OBJ = NRMConstant_v5.o particle.o simulate.o count_cores.o output.o simulate_rdme.o simulate_threads.o model.o pthread_barrier.o -ANNOBJECTS = ANN.o brute.o kd_tree.o kd_util.o kd_split.o \ - kd_dump.o kd_search.o kd_pr_search.o kd_fix_rad_search.o \ - bd_tree.o bd_search.o bd_pr_search.o bd_fix_rad_search.o \ - perf.o - - -.PHONY: all - -all: ssa_sdpd - - -CORE: $(OBJ) -#this is now called directly, before this make command, in solver.py -# make -d -f $(ROOTINC_ESC)/external/ANN/src/Makefile.spatialpy ROOTINC=$(ROOTINC_ESC) - -main.o: - $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o main.o $(MODEL) $(INCDIRPARAMS) $(CFLAGS) - -%.o: $(ROOT)/src/%.cpp - $(C++) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) - -%.o: $(ROOT)/src/%.c - $(CC) -c $(GPROFFLAG) $(GDB_FLAG) -o $@ "$<" $(INCDIRPARAMS) $(CFLAGS) - -ssa_sdpd: main.o - $(C++) $(GPROFFLAG) $(GDB_FLAG) -o ssa_sdpd $(addprefix $(COREDIR)/,$(OBJ)) main.o $(addprefix $(COREDIR)/,$(ANNOBJECTS)) $(LFLAGS) - diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy deleted file mode 100755 index 027ed9ac..00000000 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/external/ANN/src/Makefile.spatialpy +++ /dev/null @@ -1,118 +0,0 @@ -#----------------------------------------------------------------------------- -# Makefile for ANN library -#---------------------------------------------------------------------- -# Copyright (c) 1997-2005 University of Maryland and Sunil Arya and -# David Mount. All Rights Reserved. -# -# This software and related documentation is part of the Approximate -# Nearest Neighbor Library (ANN). This software is provided under -# the provisions of the Lesser GNU Public License (LGPL). See the -# file ../ReadMe.txt for further information. -# -# The University of Maryland (U.M.) and the authors make no -# representations about the suitability or fitness of this software for -# any purpose. It is provided "as is" without express or implied -# warranty. -#---------------------------------------------------------------------- -# History: -# Revision 0.1 03/04/98 -# Initial release -# Revision 1.0 04/01/05 -# Renamed files from .cc to .cpp for Microsoft Visual C++ -# Added kd_dump.cpp -# Revision 1.1 05/03/05 -# Added kd_fix_rad_search.cpp and bd_fix_rad_search.cpp -#---------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# Some basic definitions: -# BASEDIR where include, src, lib, ... are -# INCLIB include directory -# LIBLIB library directory -#----------------------------------------------------------------------------- -BASEDIR = .. -C++ = g++ -CFLAGS = -c -std=c++14 -Wall -O3 -g -INCDIR = $(ROOTINC)/external/ANN/include/ -LIBDIR = $(BASEDIR)/lib - -SOURCES = ANN.cpp brute.cpp kd_tree.cpp kd_util.cpp kd_split.cpp \ - kd_dump.cpp kd_search.cpp kd_pr_search.cpp kd_fix_rad_search.cpp \ - bd_tree.cpp bd_search.cpp bd_pr_search.cpp bd_fix_rad_search.cpp \ - perf.cpp - -HEADERS = kd_tree.h kd_split.h kd_util.h kd_search.h \ - kd_pr_search.h kd_fix_rad_search.h perf.h pr_queue.h pr_queue_k.h - -OBJECTS = $(SOURCES:.cpp=.o) - -#----------------------------------------------------------------------------- -# Make the library -#----------------------------------------------------------------------------- - -default: spatialpy - -targets: $(LIBDIR)/$(ANNLIB) - -spatialpy: $(OBJECTS) - -$(LIBDIR)/$(ANNLIB): $(OBJECTS) - $(MAKELIB) $(ANNLIB) $(OBJECTS) - $(RANLIB) $(ANNLIB) - mv $(ANNLIB) $(LIBDIR) - -#----------------------------------------------------------------------------- -# Make object files -#----------------------------------------------------------------------------- - -ANN.o: $(ROOTINC)/external/ANN/src/ANN.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/ANN.cpp - -brute.o: $(ROOTINC)/external/ANN/src/brute.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/brute.cpp - -kd_tree.o: $(ROOTINC)/external/ANN/src/kd_tree.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_tree.cpp - -kd_util.o: $(ROOTINC)/external/ANN/src/kd_util.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_util.cpp - -kd_split.o: $(ROOTINC)/external/ANN/src/kd_split.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_split.cpp - -kd_search.o: $(ROOTINC)/external/ANN/src/kd_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_search.cpp - -kd_pr_search.o: $(ROOTINC)/external/ANN/src/kd_pr_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_pr_search.cpp - -kd_fix_rad_search.o: $(ROOTINC)/external/ANN/src/kd_fix_rad_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_fix_rad_search.cpp - -kd_dump.o: $(ROOTINC)/external/ANN/src/kd_dump.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/kd_dump.cpp - -bd_tree.o: $(ROOTINC)/external/ANN/src/bd_tree.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_tree.cpp - -bd_search.o: $(ROOTINC)/external/ANN/src/bd_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_search.cpp - -bd_pr_search.o: $(ROOTINC)/external/ANN/src/bd_pr_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_pr_search.cpp - -bd_fix_rad_search.o: $(ROOTINC)/external/ANN/src/bd_fix_rad_search.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/bd_fix_rad_search.cpp - -perf.o: $(ROOTINC)/external/ANN/src/perf.cpp - $(C++) -c -I$(INCDIR) $(CFLAGS) $(ROOTINC)/external/ANN/src/perf.cpp - -#----------------------------------------------------------------------------- -# Cleaning -#----------------------------------------------------------------------------- - -clean: - -rm -f *.o core - -realclean: clean - From 2c403191961344c2938a960f8c64c1f1b88640c5 Mon Sep 17 00:00:00 2001 From: Brian Drawert Date: Wed, 8 Feb 2023 15:57:12 -0800 Subject: [PATCH 6/6] Fixed compile to work on Linux --- .../c_base/ssa_sdpd-c-simulation-engine/build/SConstruct | 2 +- .../solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript | 1 - spatialpy/solvers/solver.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct index e77b415e..92b25a22 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/build/SConstruct @@ -31,4 +31,4 @@ core = SConscript(f'{root_dir}/src/SConscript', variant_dir=core_dir, duplicate= env.StaticLibrary(f'{core_dir}/lib/spatialpy-core', core) env.StaticLibrary(f'{core_dir}/lib/ANN', ann) -env.Program('ssa_sdpd', model, LIBS=['spatialpy-core', 'ANN']) +env.Program('ssa_sdpd.exe', model, LIBS=['spatialpy-core', 'ANN', 'pthread']) diff --git a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript index 2c08890a..c4a9a3c0 100644 --- a/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript +++ b/spatialpy/solvers/c_base/ssa_sdpd-c-simulation-engine/src/SConscript @@ -6,7 +6,6 @@ libspatialpy_core = env.Object([ 'output.cpp', 'particle.cpp', 'pthread_barrier.cpp', - 'read_lammps_input_file.cpp', 'simulate.cpp', 'simulate_rdme.cpp', 'simulate_threads.cpp' diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index c3c544b0..c884a6f8 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -67,7 +67,7 @@ def __init__(self, model, debug_level=0): self.build_dir = None self.propfilename = None self.prop_file_name = None - self.executable_name = 'ssa_sdpd' + self.executable_name = 'ssa_sdpd.exe' self.h = None # basis function width self.spatialpy_root = os.path.dirname(