diff -Naur Python-3.6.1/Lib/distutils/command/install.py Python-3.6.1-lib64/Lib/distutils/command/install.py --- Python-3.6.1/Lib/distutils/command/install.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/distutils/command/install.py 2017-05-02 13:02:29.939144737 +0200 @@ -29,15 +29,15 @@ INSTALL_SCHEMES = { 'unix_prefix': { - 'purelib': '$base/lib/python$py_version_short/site-packages', - 'platlib': '$platbase/lib/python$py_version_short/site-packages', + 'purelib': '$base/lib64/python$py_version_short/site-packages', + 'platlib': '$platbase/lib64/python$py_version_short/site-packages', 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', 'scripts': '$base/bin', 'data' : '$base', }, 'unix_home': { - 'purelib': '$base/lib/python', - 'platlib': '$base/lib/python', + 'purelib': '$base/lib64/python', + 'platlib': '$base/lib64/python', 'headers': '$base/include/python/$dist_name', 'scripts': '$base/bin', 'data' : '$base', diff -Naur Python-3.6.1/Lib/distutils/sysconfig.py Python-3.6.1-lib64/Lib/distutils/sysconfig.py --- Python-3.6.1/Lib/distutils/sysconfig.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/distutils/sysconfig.py 2017-05-02 13:02:51.440914669 +0200 @@ -133,7 +133,7 @@ if os.name == "posix": libpython = os.path.join(prefix, - "lib", "python" + get_python_version()) + "lib64", "python" + get_python_version()) if standard_lib: return libpython else: diff -Naur Python-3.6.1/Lib/distutils/tests/test_install.py Python-3.6.1-lib64/Lib/distutils/tests/test_install.py --- Python-3.6.1/Lib/distutils/tests/test_install.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/distutils/tests/test_install.py 2017-05-02 13:03:21.850589020 +0200 @@ -56,7 +56,7 @@ expected = os.path.normpath(expected) self.assertEqual(got, expected) - libdir = os.path.join(destination, "lib", "python") + libdir = os.path.join(destination, "lib64", "python") check_path(cmd.install_lib, libdir) check_path(cmd.install_platlib, libdir) check_path(cmd.install_purelib, libdir) diff -Naur Python-3.6.1/Lib/site.py Python-3.6.1-lib64/Lib/site.py --- Python-3.6.1/Lib/site.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/site.py 2017-05-02 13:03:49.244295397 +0200 @@ -304,12 +304,12 @@ seen.add(prefix) if os.sep == '/': - sitepackages.append(os.path.join(prefix, "lib", + sitepackages.append(os.path.join(prefix, "lib64", "python%d.%d" % sys.version_info[:2], "site-packages")) else: sitepackages.append(prefix) - sitepackages.append(os.path.join(prefix, "lib", "site-packages")) + sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) if sys.platform == "darwin": # for framework builds *only* we add the standard Apple # locations. diff -Naur Python-3.6.1/Lib/sysconfig.py Python-3.6.1-lib64/Lib/sysconfig.py --- Python-3.6.1/Lib/sysconfig.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/sysconfig.py 2017-05-02 13:04:42.784720884 +0200 @@ -20,10 +20,10 @@ _INSTALL_SCHEMES = { 'posix_prefix': { - 'stdlib': '{installed_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', + 'stdlib': '{installed_base}/lib64/python{py_version_short}', + 'platstdlib': '{platbase}/lib64/python{py_version_short}', + 'purelib': '{base}/lib64/python{py_version_short}/site-packages', + 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', 'include': '{installed_base}/include/python{py_version_short}{abiflags}', 'platinclude': @@ -32,10 +32,10 @@ 'data': '{base}', }, 'posix_home': { - 'stdlib': '{installed_base}/lib/python', - 'platstdlib': '{base}/lib/python', - 'purelib': '{base}/lib/python', - 'platlib': '{base}/lib/python', + 'stdlib': '{installed_base}/lib64/python', + 'platstdlib': '{base}/lib64/python', + 'purelib': '{base}/lib64/python', + 'platlib': '{base}/lib64/python', 'include': '{installed_base}/include/python', 'platinclude': '{installed_base}/include/python', 'scripts': '{base}/bin', @@ -61,10 +61,10 @@ 'data': '{userbase}', }, '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', + 'stdlib': '{userbase}/lib64/python{py_version_short}', + 'platstdlib': '{userbase}/lib64/python{py_version_short}', + 'purelib': '{userbase}/lib64/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}', diff -Naur Python-3.6.1/Lib/test/test_site.py Python-3.6.1-lib64/Lib/test/test_site.py --- Python-3.6.1/Lib/test/test_site.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Lib/test/test_site.py 2017-05-02 13:06:30.102566964 +0200 @@ -247,8 +247,8 @@ self.assertEqual(dirs[1], wanted) elif os.sep == '/': # OS X non-framwework builds, Linux, FreeBSD, etc - self.assertEqual(len(dirs), 1) - wanted = os.path.join('xoxo', 'lib', + self.assertEqual(len(dirs), 2) + wanted = os.path.join('xoxo', 'lib64', 'python%d.%d' % sys.version_info[:2], 'site-packages') self.assertEqual(dirs[0], wanted) @@ -256,7 +256,7 @@ # other platforms self.assertEqual(len(dirs), 2) self.assertEqual(dirs[0], 'xoxo') - wanted = os.path.join('xoxo', 'lib', 'site-packages') + wanted = os.path.join('xoxo', 'lib64', 'site-packages') self.assertEqual(dirs[1], wanted) class PthFile(object): diff -Naur Python-3.6.1/Makefile.pre.in Python-3.6.1-lib64/Makefile.pre.in --- Python-3.6.1/Makefile.pre.in 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Makefile.pre.in 2017-05-02 13:07:10.192135198 +0200 @@ -131,7 +131,7 @@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include -SCRIPTDIR= $(prefix)/lib +SCRIPTDIR= $(prefix)/lib64 ABIFLAGS= @ABIFLAGS@ # Detailed destination directories @@ -1374,7 +1374,7 @@ # Install the library and miscellaneous stuff needed for extending/embedding # This goes into $(exec_prefix) -LIBPL= @LIBPL@ +LIBPL= $(LIBDEST)/config-$(LDVERSION)-$(MULTIARCH) # pkgconfig directory LIBPC= $(LIBDIR)/pkgconfig diff -Naur Python-3.6.1/Modules/getpath.c Python-3.6.1-lib64/Modules/getpath.c --- Python-3.6.1/Modules/getpath.c 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Modules/getpath.c 2017-05-02 13:08:34.412227084 +0200 @@ -494,7 +494,7 @@ _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL); _prefix = Py_DecodeLocale(PREFIX, NULL); _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL); - lib_python = Py_DecodeLocale("lib/python" VERSION, NULL); + lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL); if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) { Py_FatalError( @@ -683,7 +683,7 @@ } else wcsncpy(zip_path, _prefix, MAXPATHLEN); - joinpath(zip_path, L"lib/python00.zip"); + joinpath(zip_path, L"lib64/python00.zip"); bufsz = wcslen(zip_path); /* Replace "00" with version */ zip_path[bufsz - 6] = VERSION[0]; zip_path[bufsz - 5] = VERSION[2]; @@ -695,7 +695,7 @@ fprintf(stderr, "Could not find platform dependent libraries \n"); wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); - joinpath(exec_prefix, L"lib/lib-dynload"); + joinpath(exec_prefix, L"lib64/lib-dynload"); } /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ diff -Naur Python-3.6.1/Modules/Setup.dist Python-3.6.1-lib64/Modules/Setup.dist --- Python-3.6.1/Modules/Setup.dist 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/Modules/Setup.dist 2017-05-02 13:09:46.518448591 +0200 @@ -209,7 +209,7 @@ #SSL=/usr/local/ssl #_ssl _ssl.c \ # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -# -L$(SSL)/lib -lssl -lcrypto +# -L$(SSL)/lib64 -lssl -lcrypto # The crypt module is now disabled by default because it breaks builds # on many systems (where -lcrypt is needed), e.g. Linux (I believe). @@ -287,7 +287,7 @@ # *** Uncomment and edit to reflect your Tcl/Tk versions: # -ltk8.2 -ltcl8.2 \ # *** Uncomment and edit to reflect where your X11 libraries are: -# -L/usr/X11R6/lib \ +# -L/usr/X11R6/lib64 \ # *** Or uncomment this for Solaris: # -L/usr/openwin/lib \ # *** Uncomment these for TOGL extension only: @@ -332,7 +332,7 @@ # # First, look at Setup.config; configure may have set this for you. -#_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm +#_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib64 -lgdbm # Helper module for various ascii-encoders @@ -362,7 +362,7 @@ # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). # See http://www.gzip.org/zlib/ -#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz +#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz # Interface to the Expat XML parser # diff -Naur Python-3.6.1/setup.py Python-3.6.1-lib64/setup.py --- Python-3.6.1/setup.py 2017-03-21 07:32:38.000000000 +0100 +++ Python-3.6.1-lib64/setup.py 2017-05-02 13:12:07.846920494 +0200 @@ -491,7 +491,7 @@ # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not cross_compiling: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if cross_compiling: @@ -550,7 +550,6 @@ if not cross_compiling: lib_dirs = self.compiler.library_dirs + [ '/lib64', '/usr/lib64', - '/lib', '/usr/lib', ] inc_dirs = self.compiler.include_dirs + ['/usr/include'] else: @@ -783,11 +782,11 @@ elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(lib_dirs + - ['/usr/lib/termcap'], + ['/usr/lib64/termcap'], 'termcap'): readline_libs.append('termcap') exts.append( Extension('readline', ['readline.c'], - library_dirs=['/usr/lib/termcap'], + library_dirs=['/usr/lib64/termcap'], extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: @@ -824,8 +823,8 @@ if krb5_h: ssl_incs += krb5_h ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, - ['/usr/local/ssl/lib', - '/usr/contrib/ssl/lib/' + ['/usr/local/ssl/lib64', + '/usr/contrib/ssl/lib64/' ] ) if (ssl_incs is not None and @@ -1831,14 +1830,13 @@ elif os.path.exists('/usr/X11R6/include'): include_dirs.append('/usr/X11R6/include') added_lib_dirs.append('/usr/X11R6/lib64') - added_lib_dirs.append('/usr/X11R6/lib') elif os.path.exists('/usr/X11R5/include'): include_dirs.append('/usr/X11R5/include') - added_lib_dirs.append('/usr/X11R5/lib') + added_lib_dirs.append('/usr/X11R5/lib64') else: # Assume default location for X11 include_dirs.append('/usr/X11/include') - added_lib_dirs.append('/usr/X11/lib') + added_lib_dirs.append('/usr/X11/lib64') # If Cygwin, then verify that X is installed before proceeding if host_platform == 'cygwin':