diff --git a/CMakeLists.txt b/CMakeLists.txt
index e5b44ef..9c6e639 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,6 +41,9 @@
     set(CMAKE_CXX_STANDARD 17)
 endif()
 
+# Don't allow for compiler-specific extensions
+set(CMAKE_CXX_EXTENSIONS OFF)
+
 # Building
 add_subdirectory(src)
 
@@ -186,6 +189,13 @@
 endif()
 
 #
+# Check for any fatal configuration errors
+#
+if( "${SHARED_MUTEX_IMPL}" STREQUAL "NONE" )
+    message( FATAL_ERROR "No shared_mutex implementation found.  Requires Boost or C++17" )
+endif()
+
+#
 # Output configuration information
 # Similar to APR CMake configuration
 #
diff --git a/src/cmake/boost-fallback/boost-fallback.cmake b/src/cmake/boost-fallback/boost-fallback.cmake
index a8d7d44..8285b0b 100644
--- a/src/cmake/boost-fallback/boost-fallback.cmake
+++ b/src/cmake/boost-fallback/boost-fallback.cmake
@@ -56,16 +56,17 @@
     "${CMAKE_CURRENT_LIST_DIR}/test-stdatomic.cpp")
 
 find_package(Boost COMPONENTS thread)
-try_compile(Boost_SHARED_PTR_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
-    "${CMAKE_CURRENT_LIST_DIR}/test-boostsharedptr.cpp")
-try_compile(Boost_MUTEX_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
-    "${CMAKE_CURRENT_LIST_DIR}/test-boostmutex.cpp")
-try_compile(Boost_SHARED_MUTEX_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
-    "${CMAKE_CURRENT_LIST_DIR}/test-boostsharedmutex.cpp"
-    LINK_LIBRARIES Threads::Threads
-)
-try_compile(Boost_ATOMIC_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
-    "${CMAKE_CURRENT_LIST_DIR}/test-boostatomic.cpp")
+if( ${Boost_FOUND} )
+    try_compile(Boost_SHARED_PTR_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
+        "${CMAKE_CURRENT_LIST_DIR}/test-boostsharedptr.cpp")
+    try_compile(Boost_MUTEX_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
+        "${CMAKE_CURRENT_LIST_DIR}/test-boostmutex.cpp")
+    try_compile(Boost_SHARED_MUTEX_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
+        "${CMAKE_CURRENT_LIST_DIR}/test-boostsharedmutex.cpp"
+        LINK_LIBRARIES Threads::Threads Boost::thread)
+    try_compile(Boost_ATOMIC_FOUND "${CMAKE_BINARY_DIR}/boost-fallback-compile-tests"
+        "${CMAKE_CURRENT_LIST_DIR}/test-boostatomic.cpp")
+endif( ${Boost_FOUND} )
 
 # Link the target with the appropriate boost libraries(if required)
 function(boostfallback_link target)
diff --git a/src/main/cpp/hierarchy.cpp b/src/main/cpp/hierarchy.cpp
index 4f51744..c70d39d 100644
--- a/src/main/cpp/hierarchy.cpp
+++ b/src/main/cpp/hierarchy.cpp
@@ -223,7 +223,7 @@
 	else
 	{
 		LoggerPtr logger(factory->makeNewLoggerInstance(pool, name));
-		logger->setHierarchy(weak_from_this());
+		logger->setHierarchy(shared_from_this());
 		loggers->insert(LoggerMap::value_type(name, logger));
 
 		ProvisionNodeMap::iterator it2 = provisionNodes->find(name);
@@ -423,6 +423,6 @@
 	// LOGCXX-322 we need to turn the repositroy into a weak_ptr, and we
 	// can't use weak_from_this() in the constructor.
 	if( !root->getLoggerRepository().lock() ){
-		root->setHierarchy(weak_from_this());
+		root->setHierarchy(shared_from_this());
 	}
 }
diff --git a/src/main/include/CMakeLists.txt b/src/main/include/CMakeLists.txt
index 8183660..584941c 100644
--- a/src/main/include/CMakeLists.txt
+++ b/src/main/include/CMakeLists.txt
@@ -133,7 +133,7 @@
 elseif( ${Boost_SHARED_MUTEX_FOUND} )
     set( SHARED_MUTEX_IMPL "boost::shared_mutex" )
 else()
-    set( SMART_PTR_IMPL "NONE" )
+    set( SHARED_MUTEX_IMPL "NONE" )
 endif()
 
 if( ${STD_ATOMIC_FOUND} )
diff --git a/src/main/include/log4cxx/helpers/appenderattachableimpl.h b/src/main/include/log4cxx/helpers/appenderattachableimpl.h
index 40e77d9..b80b5aa 100644
--- a/src/main/include/log4cxx/helpers/appenderattachableimpl.h
+++ b/src/main/include/log4cxx/helpers/appenderattachableimpl.h
@@ -28,6 +28,7 @@
 #include <log4cxx/helpers/object.h>
 #include <log4cxx/helpers/pool.h>
 #include <log4cxx/log4cxx.h>
+#include <mutex>
 
 namespace log4cxx
 {
diff --git a/src/main/include/log4cxx/helpers/aprinitializer.h b/src/main/include/log4cxx/helpers/aprinitializer.h
index 6f3f550..fccd18e 100644
--- a/src/main/include/log4cxx/helpers/aprinitializer.h
+++ b/src/main/include/log4cxx/helpers/aprinitializer.h
@@ -30,6 +30,7 @@
 }
 
 #include <apr_time.h>
+#include <mutex>
 
 namespace log4cxx
 {
diff --git a/src/main/include/log4cxx/helpers/loglog.h b/src/main/include/log4cxx/helpers/loglog.h
index d54785d..a4c9241 100644
--- a/src/main/include/log4cxx/helpers/loglog.h
+++ b/src/main/include/log4cxx/helpers/loglog.h
@@ -20,6 +20,7 @@
 
 #include <log4cxx/logstring.h>
 #include <exception>
+#include <mutex>
 
 namespace log4cxx
 {
diff --git a/src/main/include/log4cxx/helpers/serversocket.h b/src/main/include/log4cxx/helpers/serversocket.h
index e6e6d47..7da75b9 100644
--- a/src/main/include/log4cxx/helpers/serversocket.h
+++ b/src/main/include/log4cxx/helpers/serversocket.h
@@ -19,6 +19,7 @@
 #define _LOG4CXX_HELPERS_SERVER_SOCKET_H
 
 #include <log4cxx/helpers/socket.h>
+#include <mutex>
 
 namespace log4cxx
 {
diff --git a/src/main/include/log4cxx/level.h b/src/main/include/log4cxx/level.h
index 4ca4bf2..7848c90 100644
--- a/src/main/include/log4cxx/level.h
+++ b/src/main/include/log4cxx/level.h
@@ -22,6 +22,7 @@
 #include <log4cxx/logstring.h>
 #include <limits.h>
 #include <log4cxx/helpers/object.h>
+#include <mutex>
 
 #if defined(_MSC_VER)
 	#pragma warning ( push )
diff --git a/src/main/include/log4cxx/rolling/action.h b/src/main/include/log4cxx/rolling/action.h
index 0e8d55f..fc44978 100644
--- a/src/main/include/log4cxx/rolling/action.h
+++ b/src/main/include/log4cxx/rolling/action.h
@@ -21,6 +21,7 @@
 #include <log4cxx/portability.h>
 #include <log4cxx/helpers/object.h>
 #include <log4cxx/helpers/pool.h>
+#include <mutex>
 
 namespace log4cxx
 {
