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;