*** ./Lib/distutils/command/build_ext.py.ORIG	Sat Jun 25 23:49:30 2016
--- ./Lib/distutils/command/build_ext.py	Thu Jan 12 23:52:59 2017
***************
*** 267,275 ****
--- 267,279 ----
          # Finally add the user include and library directories if requested
          if self.user:
              user_include = os.path.join(USER_BASE, "include")
+             user_lib64 = os.path.join(USER_BASE, "lib64")
              user_lib = os.path.join(USER_BASE, "lib")
              if os.path.isdir(user_include):
                  self.include_dirs.append(user_include)
+             if os.path.isdir(user_lib64):
+                 self.library_dirs.append(user_lib64)
+                 self.rpath.append(user_lib64)
              if os.path.isdir(user_lib):
                  self.library_dirs.append(user_lib)
                  self.rpath.append(user_lib)
*** ./Lib/distutils/command/install.py.ORIG	Sat Jun 25 23:49:30 2016
--- ./Lib/distutils/command/install.py	Thu Jan 12 23:52:59 2017
***************
*** 42,48 ****
  INSTALL_SCHEMES = {
      'unix_prefix': {
          'purelib': '$base/lib/python$py_version_short/site-packages',
!         'platlib': '$platbase/lib/python$py_version_short/site-packages',
          'headers': '$base/include/python$py_version_short/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
--- 42,48 ----
  INSTALL_SCHEMES = {
      'unix_prefix': {
          'purelib': '$base/lib/python$py_version_short/site-packages',
!         'platlib': '$platbase/lib64/python$py_version_short/site-packages',
          'headers': '$base/include/python$py_version_short/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
***************
*** 49,55 ****
          },
      'unix_home': {
          'purelib': '$base/lib/python',
!         'platlib': '$base/lib/python',
          'headers': '$base/include/python/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
--- 49,55 ----
          },
      'unix_home': {
          'purelib': '$base/lib/python',
!         'platlib': '$base/lib64/python',
          'headers': '$base/include/python/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
*** ./Lib/distutils/sysconfig.py.ORIG	Sat Jun 25 23:49:30 2016
--- ./Lib/distutils/sysconfig.py	Thu Jan 12 23:52:59 2017
***************
*** 119,126 ****
          prefix = plat_specific and EXEC_PREFIX or PREFIX
  
      if os.name == "posix":
          libpython = os.path.join(prefix,
!                                  "lib", "python" + get_python_version())
          if standard_lib:
              return libpython
          else:
--- 119,130 ----
          prefix = plat_specific and EXEC_PREFIX or PREFIX
  
      if os.name == "posix":
+         if plat_specific or standard_lib:
+             lib = "lib64"
+         else:
+             lib = "lib"
          libpython = os.path.join(prefix,
!                                  lib, "python" + get_python_version())
          if standard_lib:
              return libpython
          else:
*** ./Lib/site.py.ORIG	Sat Jun 25 23:49:31 2016
--- ./Lib/site.py	Thu Jan 12 23:52:59 2017
***************
*** 288,299 ****
          if sys.platform in ('os2emx', 'riscos'):
              sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
          elif os.sep == '/':
              sitepackages.append(os.path.join(prefix, "lib",
                                          "python" + sys.version[:3],
                                          "site-packages"))
!             sitepackages.append(os.path.join(prefix, "lib", "site-python"))
          else:
              sitepackages.append(prefix)
              sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
          if sys.platform == "darwin":
              # for framework builds *only* we add the standard Apple
--- 288,303 ----
          if sys.platform in ('os2emx', 'riscos'):
              sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
          elif os.sep == '/':
+             sitepackages.append(os.path.join(prefix, "lib64",
+                                         "python" + sys.version[:3],
+                                         "site-packages"))
              sitepackages.append(os.path.join(prefix, "lib",
                                          "python" + sys.version[:3],
                                          "site-packages"))
!             sitepackages.append(os.path.join(prefix, "lib64", "site-python"))
          else:
              sitepackages.append(prefix)
+             sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
              sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
          if sys.platform == "darwin":
              # for framework builds *only* we add the standard Apple
*** ./Lib/sysconfig.py.ORIG	Sat Jun 25 23:49:31 2016
--- ./Lib/sysconfig.py	Thu Jan 12 23:52:59 2017
***************
*** 8,16 ****
  _INSTALL_SCHEMES = {
      'posix_prefix': {
          'stdlib': '{base}/lib/python{py_version_short}',
!         'platstdlib': '{platbase}/lib/python{py_version_short}',
          'purelib': '{base}/lib/python{py_version_short}/site-packages',
!         'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
          'include': '{base}/include/python{py_version_short}',
          'platinclude': '{platbase}/include/python{py_version_short}',
          'scripts': '{base}/bin',
--- 8,16 ----
  _INSTALL_SCHEMES = {
      'posix_prefix': {
          'stdlib': '{base}/lib/python{py_version_short}',
!         'platstdlib': '{platbase}/lib64/python{py_version_short}',
          'purelib': '{base}/lib/python{py_version_short}/site-packages',
!         'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
          'include': '{base}/include/python{py_version_short}',
          'platinclude': '{platbase}/include/python{py_version_short}',
          'scripts': '{base}/bin',
***************
*** 18,26 ****
          },
      'posix_home': {
          'stdlib': '{base}/lib/python',
!         'platstdlib': '{base}/lib/python',
          'purelib': '{base}/lib/python',
!         'platlib': '{base}/lib/python',
          'include': '{base}/include/python',
          'platinclude': '{base}/include/python',
          'scripts': '{base}/bin',
--- 18,26 ----
          },
      'posix_home': {
          'stdlib': '{base}/lib/python',
!         'platstdlib': '{base}/lib64/python',
          'purelib': '{base}/lib/python',
!         'platlib': '{base}/lib64/python',
          'include': '{base}/include/python',
          'platinclude': '{base}/include/python',
          'scripts': '{base}/bin',
***************
*** 66,74 ****
          },
      'posix_user': {
          'stdlib': '{userbase}/lib/python{py_version_short}',
!         'platstdlib': '{userbase}/lib/python{py_version_short}',
          'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
!         'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
          'include': '{userbase}/include/python{py_version_short}',
          'scripts': '{userbase}/bin',
          'data'   : '{userbase}',
--- 66,74 ----
          },
      'posix_user': {
          'stdlib': '{userbase}/lib/python{py_version_short}',
!         'platstdlib': '{userbase}/lib64/python{py_version_short}',
          'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
!         'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
          'include': '{userbase}/include/python{py_version_short}',
          'scripts': '{userbase}/bin',
          'data'   : '{userbase}',
*** ./Modules/Setup.dist.ORIG	Sat Jun 25 23:49:31 2016
--- ./Modules/Setup.dist	Thu Jan 12 23:52:59 2017
***************
*** 418,424 ****
  #DB=/usr/local/BerkeleyDB.4.0
  #DBLIBVER=4.0
  #DBINC=$(DB)/include
! #DBLIB=$(DB)/lib
  #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
  
  # Historical Berkeley DB 1.85
--- 418,424 ----
  #DB=/usr/local/BerkeleyDB.4.0
  #DBLIBVER=4.0
  #DBINC=$(DB)/include
! #DBLIB=$(DB)/lib64
  #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
  
  # Historical Berkeley DB 1.85
*** ./Modules/getpath.c.ORIG	Sat Jun 25 23:49:31 2016
--- ./Modules/getpath.c	Thu Jan 12 23:52:59 2017
***************
*** 108,114 ****
  static char exec_prefix[MAXPATHLEN+1];
  static char progpath[MAXPATHLEN+1];
  static char *module_search_path = NULL;
! static char lib_python[] = "lib/python" VERSION;
  
  static void
  reduce(char *dir)
--- 108,114 ----
  static char exec_prefix[MAXPATHLEN+1];
  static char progpath[MAXPATHLEN+1];
  static char *module_search_path = NULL;
! static char lib_python[] = "lib64/python" VERSION;
  
  static void
  reduce(char *dir)
***************
*** 522,528 ****
      }
      else
          strncpy(zip_path, PREFIX, MAXPATHLEN);
!     joinpath(zip_path, "lib/python00.zip");
      bufsz = strlen(zip_path);   /* Replace "00" with version */
      zip_path[bufsz - 6] = VERSION[0];
      zip_path[bufsz - 5] = VERSION[2];
--- 522,528 ----
      }
      else
          strncpy(zip_path, PREFIX, MAXPATHLEN);
!     joinpath(zip_path, "lib64/python00.zip");
      bufsz = strlen(zip_path);   /* Replace "00" with version */
      zip_path[bufsz - 6] = VERSION[0];
      zip_path[bufsz - 5] = VERSION[2];
***************
*** 532,538 ****
              fprintf(stderr,
                  "Could not find platform dependent libraries <exec_prefix>\n");
          strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
!         joinpath(exec_prefix, "lib/lib-dynload");
      }
      /* If we found EXEC_PREFIX do *not* reduce it!  (Yet.) */
  
--- 532,538 ----
              fprintf(stderr,
                  "Could not find platform dependent libraries <exec_prefix>\n");
          strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
!         joinpath(exec_prefix, "lib64/lib-dynload");
      }
      /* If we found EXEC_PREFIX do *not* reduce it!  (Yet.) */
  
*** ./Makefile.pre.in.ORIG	Sat Jun 25 23:49:31 2016
--- ./Makefile.pre.in	Thu Jan 12 23:52:59 2017
***************
*** 107,117 ****
  
  # Expanded directories
  BINDIR=		@bindir@
! LIBDIR=		@libdir@
  MANDIR=		@mandir@
  INCLUDEDIR=	@includedir@
  CONFINCLUDEDIR=	$(exec_prefix)/include
! SCRIPTDIR=	$(prefix)/lib
  
  # Detailed destination directories
  BINLIBDEST=	$(LIBDIR)/python$(VERSION)
--- 107,117 ----
  
  # Expanded directories
  BINDIR=		@bindir@
! LIBDIR=		$(exec_prefix)/lib64
  MANDIR=		@mandir@
  INCLUDEDIR=	@includedir@
  CONFINCLUDEDIR=	$(exec_prefix)/include
! SCRIPTDIR=	$(prefix)/lib64
  
  # Detailed destination directories
  BINLIBDEST=	$(LIBDIR)/python$(VERSION)
*** ./setup.py.ORIG	Thu Jan 12 23:52:59 2017
--- ./setup.py	Thu Jan 12 23:52:59 2017
***************
*** 394,400 ****
  
          if multiarch_path_component != '':
              add_dir_to_list(self.compiler.library_dirs,
!                             '/usr/lib/' + multiarch_path_component)
              add_dir_to_list(self.compiler.include_dirs,
                              '/usr/include/' + multiarch_path_component)
              return
--- 394,400 ----
  
          if multiarch_path_component != '':
              add_dir_to_list(self.compiler.library_dirs,
!                             '/usr/lib64/' + multiarch_path_component)
              add_dir_to_list(self.compiler.include_dirs,
                              '/usr/include/' + multiarch_path_component)
              return
***************
*** 415,421 ****
                  with open(tmpfile) as fp:
                      multiarch_path_component = fp.readline().strip()
                  add_dir_to_list(self.compiler.library_dirs,
!                                 '/usr/lib/' + multiarch_path_component)
                  add_dir_to_list(self.compiler.include_dirs,
                                  '/usr/include/' + multiarch_path_component)
          finally:
--- 415,421 ----
                  with open(tmpfile) as fp:
                      multiarch_path_component = fp.readline().strip()
                  add_dir_to_list(self.compiler.library_dirs,
!                                 '/usr/lib64/' + multiarch_path_component)
                  add_dir_to_list(self.compiler.include_dirs,
                                  '/usr/include/' + multiarch_path_component)
          finally:
*** ./Lib/test/test_site.py.ORIG	Mon Jan 16 00:25:04 2017
--- ./Lib/test/test_site.py	Mon Jan 16 00:26:27 2017
***************
*** 235,251 ****
              self.assertEqual(dirs[0], wanted)
          elif os.sep == '/':
              # OS X, Linux, FreeBSD, etc
!             self.assertEqual(len(dirs), 2)
!             wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
                                    'site-packages')
              self.assertEqual(dirs[0], wanted)
!             wanted = os.path.join('xoxo', 'lib', 'site-python')
              self.assertEqual(dirs[1], wanted)
          else:
              # other platforms
              self.assertEqual(len(dirs), 2)
              self.assertEqual(dirs[0], 'xoxo')
!             wanted = os.path.join('xoxo', 'lib', 'site-packages')
              self.assertEqual(dirs[1], wanted)
  
  class PthFile(object):
--- 235,253 ----
              self.assertEqual(dirs[0], wanted)
          elif os.sep == '/':
              # OS X, Linux, FreeBSD, etc
!             self.assertEqual(len(dirs), 3)
!             wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3],
                                    'site-packages')
              self.assertEqual(dirs[0], wanted)
!             wanted = os.path.join('xoxo', 'lib64', 'site-python')
              self.assertEqual(dirs[1], wanted)
+             wanted = os.path.join('xoxo', 'lib', 'site-python')
+             self.assertEqual(dirs[2], wanted)
          else:
              # other platforms
              self.assertEqual(len(dirs), 2)
              self.assertEqual(dirs[0], 'xoxo')
!             wanted = os.path.join('xoxo', 'lib64', 'site-packages')
              self.assertEqual(dirs[1], wanted)
  
  class PthFile(object):
