diff --git a/config.h.cmake b/config.h.cmake
index 46c133e002e..5d98561707e 100644
@@ -35,6 +35,7 @@
/* Header files */
#cmakedefine HAVE_ALLOCA_H 1
#cmakedefine HAVE_ARPA_INET_H 1
+#cmakedefine HAVE_CRYPT_H 1
#cmakedefine HAVE_DLFCN_H 1
#cmakedefine HAVE_EXECINFO_H 1
#cmakedefine HAVE_FPU_CONTROL_H 1
diff --git a/configure.cmake b/configure.cmake
index de004f55801..2f3aa2fda5e 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -187,6 +187,7 @@
CHECK_INCLUDE_FILES (alloca.h HAVE_ALLOCA_H)
CHECK_INCLUDE_FILES (arpa/inet.h HAVE_ARPA_INET_H)
+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H)
CHECK_INCLUDE_FILES (endian.h HAVE_ENDIAN_H)
CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H)
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 1c3f960e3d0..bae2c7303d9 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -36,6 +36,13 @@
#include "sql/item_strfunc.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#endif
+
#include <zlib.h>
#include <algorithm>
#include <atomic>