diff --git a/SConscript b/SConscript
index 65f9d965e8023c3dca4117234a3a4b0015f43107..a9066ef0aa11f742f4621c853a029079349b4eb1 100644
--- a/SConscript
+++ b/SConscript
@@ -29,7 +29,7 @@ libsmpsa=     SConscript("SMPStaticAnalyzer/SConscript")
 libirdbdeep=SConscript("irdb-libs/SConscript.deep")
 Depends(libirdbdeep,libsmpsa)
 
-print "Zipr install is "+env['ZIPR_INSTALL']
+print("Zipr install is "+env['ZIPR_INSTALL'])
 Export('env')
 
 
@@ -69,7 +69,7 @@ if env.GetOption('clean') and os.path.isfile("manifest.txt.config"):
 
 	# if [[ $(head -1 manifest.txt.config) == $PS_INSTALL ]] ; then
 	if str(first_line) == str(os.environ['PS_INSTALL']):
-		print "Doing pedi clean as I'm the pedi root"
+		print("Doing pedi clean as I'm the pedi root")
 		os.system( "pwd; $PEDI_HOME/pedi -c -m manifest.txt " )
 		shutil.rmtree(os.environ['PS_INSTALL'])
 
diff --git a/SConstruct b/SConstruct
index 1c04dad64c5a657f02bf5564e8a1779148034e41..ab0e29eac56e525f28298c509553f94d1dbc5f03 100644
--- a/SConstruct
+++ b/SConstruct
@@ -22,13 +22,13 @@ env.Replace(ZIPR_INSTALL=os.environ['ZIPR_INSTALL'])
 
 
 if int(env['debug']) == 1:
-        print "Setting debug mode"
+        print("Setting debug mode")
         env.Append(CFLAGS="      -g ")
         env.Append(CXXFLAGS="    -g ")
-	env.Append(LINKFLAGS="   -g ")
-	env.Append(SHLINKFLAGS=" -g ")
+        env.Append(LINKFLAGS="   -g ")
+        env.Append(SHLINKFLAGS=" -g ")
 else:
-        print "Setting release mode"
+        print("Setting release mode")
         env.Append(CFLAGS="      -O ")
         env.Append(CXXFLAGS="    -O ")
         env.Append(LINKFLAGS="   -O  ")
diff --git a/builtin_xforms/add_lib/al_driver.cpp b/builtin_xforms/add_lib/al_driver.cpp
index a94db0a308cca435ac5e00c57ee26338046ac8e4..0bcab3b9e351203abff27643b12f96ca81fb3b40 100644
--- a/builtin_xforms/add_lib/al_driver.cpp
+++ b/builtin_xforms/add_lib/al_driver.cpp
@@ -128,7 +128,7 @@ int main(int argc, char **argv)
 				exit_code=2;
 			}
 		}
-		catch (DatabaseError_t pnide)
+		catch (const DatabaseError_t &pnide)
 		{
 			cerr << programName << ": Unexpected database error: " << pnide << endl;
 			exit(1);
diff --git a/builtin_xforms/move_globals/mg.cpp b/builtin_xforms/move_globals/mg.cpp
index b975a69a4bb7a4ab23fbcac1d49b33381c21ee61..5ad3d5f372a5fbc8362d9d97c73a36eb14537063 100644
--- a/builtin_xforms/move_globals/mg.cpp
+++ b/builtin_xforms/move_globals/mg.cpp
@@ -12,6 +12,7 @@
 #include <iomanip>
 #include <cstdlib>
 #include <random>
+#include <functional>
 
 
 using namespace std;
diff --git a/builtin_xforms/move_globals/mg_driver.cpp b/builtin_xforms/move_globals/mg_driver.cpp
index 37033c7efa2a7f875b87bca11820a1ad64eb2c1b..b0e64f8430b17ca51a3a888449b25dbecb51db7e 100644
--- a/builtin_xforms/move_globals/mg_driver.cpp
+++ b/builtin_xforms/move_globals/mg_driver.cpp
@@ -177,7 +177,7 @@ int executeStep()
 				exit_code=2;
 			}
 		}
-		catch (DatabaseError_t pnide)
+		catch (const DatabaseError_t &pnide)
 		{
 			cerr << programName << ": Unexpected database error: " << pnide << endl;
 			return 1;
diff --git a/builtin_xforms/resolve_callbacks/callbacks_driver.cpp b/builtin_xforms/resolve_callbacks/callbacks_driver.cpp
index 2b6098b4f0b44083e71629668c5aa8eb4997afb0..b484184638d190532df32b3a843a5f7d5a0598dc 100644
--- a/builtin_xforms/resolve_callbacks/callbacks_driver.cpp
+++ b/builtin_xforms/resolve_callbacks/callbacks_driver.cpp
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
 				cout<<"Skipping (no changes) "<<this_file->getURL()<<endl;
 			}
 		}
-		catch (DatabaseError_t pnide)
+		catch (const DatabaseError_t &pnide)
 		{
 			cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl;
 		}
diff --git a/irdb-libs/SConscript b/irdb-libs/SConscript
index 1cc8a80ffcf6bd25a3ac6117ba3f6452c9835835..9d185d7d55832d161817df411fbeb6ae80aee45d 100644
--- a/irdb-libs/SConscript
+++ b/irdb-libs/SConscript
@@ -7,8 +7,8 @@ Import('env')
 
 if env.GetOption('clean'):
     if os.path.exists(os.environ['SECURITY_TRANSFORMS_HOME']+"/include/targ-config.h"):
-        print 'Removing include/targ-config.h'
-    	os.remove(os.environ['SECURITY_TRANSFORMS_HOME']+"/include/targ-config.h")
+        print('Removing include/targ-config.h')
+        os.remove(os.environ['SECURITY_TRANSFORMS_HOME']+"/include/targ-config.h")
     os.chdir(os.environ['SECURITY_TRANSFORMS_HOME']+"/third_party/capstone")
     os.system("make clean")
     os.chdir(os.environ['SECURITY_TRANSFORMS_HOME'])
@@ -20,11 +20,11 @@ if env.GetOption('clean'):
 else:
 
     os.chdir(os.environ['SECURITY_TRANSFORMS_HOME']+"/third_party/capstone")
-    print "Rebuilding libcapstone."
+    print("Rebuilding libcapstone.")
     jobs=env.GetOption('num_jobs')
     os.system("make -j "+str(jobs))
     os.chdir(os.environ['SECURITY_TRANSFORMS_HOME']+"/third_party/keystone")
-    print "Rebuilding libkeystone."
+    print("Rebuilding libkeystone.")
     os.chdir(os.environ['SECURITY_TRANSFORMS_HOME']+"/third_party/keystone")
     os.system("mkdir -p ./build")
     os.chdir("build")
diff --git a/irdb-libs/dump_insns/dump_insns.cpp b/irdb-libs/dump_insns/dump_insns.cpp
index a51b71f075f94bcbf23ab525dc336ecce1c1d2f5..6455f5924079caf7a13f3e6ca1201c06c91576b1 100644
--- a/irdb-libs/dump_insns/dump_insns.cpp
+++ b/irdb-libs/dump_insns/dump_insns.cpp
@@ -103,7 +103,7 @@ int main(int argc, char **argv)
 
 
                 }
-                catch (DatabaseError_t pnide)
+                catch (const DatabaseError_t &pnide)
                 {
                         cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl;
                 }
diff --git a/irdb-libs/dump_map/dump_ehp.cpp b/irdb-libs/dump_map/dump_ehp.cpp
index 1669bfd0d8245f5eead22ab797411825837f3fd8..e64edeb0f67301b0a7025888d3b3539b38238d0b 100644
--- a/irdb-libs/dump_map/dump_ehp.cpp
+++ b/irdb-libs/dump_map/dump_ehp.cpp
@@ -99,7 +99,7 @@ int main(int argc, char **argv)
 
 
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl;
 	}
diff --git a/irdb-libs/dump_map/dump_map.cpp b/irdb-libs/dump_map/dump_map.cpp
index cd8bb4ef145abad7c9c6352dd7c58cc3856efdf7..bb1303c82e8c077e663a7ff82237677f14d9fd28 100644
--- a/irdb-libs/dump_map/dump_map.cpp
+++ b/irdb-libs/dump_map/dump_map.cpp
@@ -128,7 +128,7 @@ int main(int argc, char **argv)
 
 
                 }
-                catch (DatabaseError_t pnide)
+                catch (const DatabaseError_t &pnide)
                 {
                         cerr << programName << ": Unexpected database error: " << pnide << "file url: " << this_file->getURL() << endl;
                 }
diff --git a/irdb-libs/ir_builders/clone.cpp b/irdb-libs/ir_builders/clone.cpp
index d5211b72361faafdeb6d11acc4b5300f103f725e..613019832b09fe0475c07960cc29497e2d11ac26 100644
--- a/irdb-libs/ir_builders/clone.cpp
+++ b/irdb-libs/ir_builders/clone.cpp
@@ -69,7 +69,7 @@ int main(int argc, char* argv[])
 		f.close();
 
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cout<<"Unexpected database error: "<<pnide<<endl;
 		exit(-1);
diff --git a/irdb-libs/ir_builders/fill_in_cfg.cpp b/irdb-libs/ir_builders/fill_in_cfg.cpp
index ce4890e35846500fb967bc505e82924e5d49b88d..3ffcae6e9f13697fd670d8e972c62a73a4ca597c 100644
--- a/irdb-libs/ir_builders/fill_in_cfg.cpp
+++ b/irdb-libs/ir_builders/fill_in_cfg.cpp
@@ -1044,7 +1044,7 @@ int PopulateCFG::executeStep()
 			}
 		}
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cerr<<"Unexpected database error: "<<pnide<<endl;
 		return -1;
diff --git a/irdb-libs/ir_builders/fill_in_indtargs.cpp b/irdb-libs/ir_builders/fill_in_indtargs.cpp
index 7f6d547147c41e374feeeafbe884c9f3d8f8ab8e..d8b65a6e9d507390003b13544e1dc0945d394bd8 100644
--- a/irdb-libs/ir_builders/fill_in_indtargs.cpp
+++ b/irdb-libs/ir_builders/fill_in_indtargs.cpp
@@ -4014,7 +4014,7 @@ int parseArgs(const vector<string> step_args)
 			try { 
 				do_unpin_opt = stoul(arg_as_str,nullptr,0);
 			}
-			catch (invalid_argument ia)
+			catch (const invalid_argument &ia)
 			{
 				cerr<<"In --max-unpin, cannot convert "<<arg_as_str<<" to unsigned"<<endl;
 				exit(1);
@@ -4112,7 +4112,7 @@ int executeStep()
 			return -1;
 
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cout << "Unexpected database error: " << pnide << endl;
 		return -1;
diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp
index 044dcf9ff73976edd873480f5fdc47fd632440d5..fabfc4fa640fe32ec5ddca406194fdae304dcbde 100644
--- a/irdb-libs/ir_builders/fix_calls.cpp
+++ b/irdb-libs/ir_builders/fix_calls.cpp
@@ -1053,7 +1053,7 @@ class FixCalls_t : public TransformStep_t
 
 				}
 			}
-			catch (DatabaseError_t pnide)
+			catch (const DatabaseError_t &pnide)
 			{
 				cout<<"Unexpected database error: "<<pnide<<endl;
 				return -1;
diff --git a/irdb-libs/libIRDB-cfg/src/dfs.cpp b/irdb-libs/libIRDB-cfg/src/dfs.cpp
index b8d28a26022eb84521bbe83a18645efa15f0de9c..d09ba506de8cb7b1d831e5fdd84019ad85f31933 100644
--- a/irdb-libs/libIRDB-cfg/src/dfs.cpp
+++ b/irdb-libs/libIRDB-cfg/src/dfs.cpp
@@ -45,5 +45,5 @@ BasicBlockVector_t IRDB_SDK::getDFSOrder(ControlFlowGraph_t* cfg)
 			// add it to the dfs end.
 			ret.push_back(p.first);
 
-	return move(ret);
+	return ret;
 }
diff --git a/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp b/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp
index f61feee43be90c3164841e9ac71232492526bd08..8c82eac98fcba7791159692f70c80d6aa7239b9c 100644
--- a/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp
+++ b/irdb-libs/libIRDB-core/src/IRDB_Objects.cpp
@@ -69,7 +69,7 @@ int IRDBObjects_t::writeBackFileIR(const IRDB_SDK::DatabaseID_t file_id, ostream
 		the_fileIR->writeToDB(verbose_logging);
         	return 0;
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cerr << "Unexpected database error: " << pnide << "file url: " << the_file->getURL() << endl;
 		return -1;
@@ -150,7 +150,7 @@ int IRDBObjects_t::writeBackVariant(const IRDB_SDK::DatabaseID_t variant_id)
 		it->second->WriteToDB();
         	return 0;
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t &pnide)
 	{
 		cerr << "Unexpected database error: " << pnide << "variant ID: " << variant_id << endl;
 		return -1;
diff --git a/irdb-libs/libIRDB-core/src/cmdstr.hpp b/irdb-libs/libIRDB-core/src/cmdstr.hpp
index eeccc1bb0a34614837db055fa8b44bb307d10632..00e2b397f3db5f3aa53e234d25cde6cf36dd86c7 100644
--- a/irdb-libs/libIRDB-core/src/cmdstr.hpp
+++ b/irdb-libs/libIRDB-core/src/cmdstr.hpp
@@ -12,6 +12,7 @@
 #include <string>
 #include <vector>
 #include <array>
+#include <functional>
 
 using namespace std;
 
diff --git a/irdb-libs/libIRDB-core/src/fileir.cpp b/irdb-libs/libIRDB-core/src/fileir.cpp
index 0183e261e1160f96604acae17f8d96bf0ab88b83..aaa9ec82a207cb1aab5ddf38a161d244e486f5bc 100644
--- a/irdb-libs/libIRDB-core/src/fileir.cpp
+++ b/irdb-libs/libIRDB-core/src/fileir.cpp
@@ -36,6 +36,9 @@
 #include "cmdstr.hpp"
 #include "assemblestr.hpp"
 
+#include <pqxx/tablewriter.hxx>
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
 using namespace libIRDB;
 using namespace std;
 
@@ -928,7 +931,7 @@ void FileIR_t::setArchitecture()
 	auto *mypqxxintr=dynamic_cast<pqxxDB_t*>(myinter);
 
 	const auto elfoid=getFile()->getELFOID();
-        pqxx::largeobjectaccess loa(mypqxxintr->getTransaction(), elfoid, PGSTD::ios::in);
+        pqxx::largeobjectaccess loa(mypqxxintr->getTransaction(), elfoid, std::ios::in);
 
 
         loa.cread((char*)&hdr_union, sizeof(hdr_union));
diff --git a/irdb-libs/meds2pdb/meds2pdb.cpp b/irdb-libs/meds2pdb/meds2pdb.cpp
index 67539ea7bb64632efcce1d1181cb76e190bc4ed7..d9a5d3cddf7eed3545d312cd1009327c8b1a9bd7 100644
--- a/irdb-libs/meds2pdb/meds2pdb.cpp
+++ b/irdb-libs/meds2pdb/meds2pdb.cpp
@@ -31,6 +31,9 @@
 #include "MEDS_FuncPrototypeAnnotation.hpp"
 #include <irdb-core>
 
+#include <pqxx/tablewriter.hxx>
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
 using namespace std;
 using namespace pqxx;
 using namespace IRDB_SDK;