diff --git a/lmdb/cpython.c b/lmdb/cpython.c
--- a/lmdb/cpython.c
+++ b/lmdb/cpython.c
@@ -1265,7 +1265,7 @@
     fspath = PyBytes_AS_STRING(fspath_obj);
 
     if(arg.create && arg.subdir && !arg.readonly) {
-        if(mkdir(fspath, arg.mode) && errno != EEXIST) {
+        if(mkdir(fspath) && errno != EEXIST) {
             PyErr_SetFromErrnoWithFilename(PyExc_OSError, fspath);
             goto fail;
         }
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -126,25 +126,6 @@
     extra_compile_args += ['-w']
 
 
-# Microsoft Visual Studio 9 ships with neither inttypes.h, stdint.h, or a sane
-# definition for ssize_t, so here we add lib/win32 to the search path, which
-# contains emulation header files provided by a third party. We force-include
-# Python.h everywhere since it has a portable definition of ssize_t, which
-# inttypes.h and stdint.h lack, and to avoid having to modify the LMDB source
-# code. Advapi32 is needed for LMDB's use of Windows security APIs.
-p = sys.version.find('MSC v.')
-msvc_ver = int(sys.version[p + 6: p + 10]) if p != -1 else None
-
-if sys.platform.startswith('win'):
-    # If running on Visual Studio<=2010 we must provide <stdint.h>. Newer
-    # versions provide it out of the box.
-    if msvc_ver and not msvc_ver >= 1600:
-        extra_include_dirs += ['lib\\win32-stdint']
-    extra_include_dirs += ['lib\\win32']
-    extra_compile_args += [r'/FIPython.h']
-    libraries += ['Advapi32']
-
-
 # Capture setup.py configuration for later use by cffi, otherwise the
 # configuration may differ, forcing a recompile (and therefore likely compile
 # errors). This happens even when `use_cpython` since user might want to
