New submission from FX Coudert <fxcoud...@gmail.com>:

With macOS Big Sur (11.y.z), the major version is 11 (instead of the earlier 
10.15, 10.14, etc). Therefore, MACOSX_DEPLOYMENT_TARGET=11 has become a valid 
setting. It is accepted by system tools:

$ MACOSX_DEPLOYMENT_TARGET=11 clang a.c && echo $?
0

But it leads to failure in Python compilation in setup.py:

DYLD_FRAMEWORK_PATH=/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0 
CC='clang' LDSHARED='clang -bundle -undefined dynamic_lookup -isysroot 
/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk   ' OPT='-DNDEBUG -g 
-fwrapv -O3 -Wall'   _TCLTK_INCLUDES='' _TCLTK_LIBS=''       ./python.exe -E 
./setup.py  build
running build
running build_ext
Traceback (most recent call last):
  File "/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/./setup.py", 
line 2614, in <module>
    main()
  File "/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/./setup.py", 
line 2584, in main
    setup(# PyPI Metadata (PEP 301)
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/core.py",
 line 148, in setup
    dist.run_commands()
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/dist.py",
 line 966, in run_commands
    self.run_command(cmd)
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/dist.py",
 line 985, in run_command
    cmd_obj.run()
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/command/build.py",
 line 135, in run
    self.run_command(cmd_name)
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/cmd.py",
 line 313, in run_command
    self.distribution.run_command(command)
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/dist.py",
 line 985, in run_command
    cmd_obj.run()
  File 
"/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/Lib/distutils/command/build_ext.py",
 line 340, in run
    self.build_extensions()
  File "/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/./setup.py", 
line 470, in build_extensions
    self.detect_modules()
  File "/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/./setup.py", 
line 1807, in detect_modules
    self.detect_readline_curses()
  File "/private/tmp/python@3.9-20201127-81873-q9b09s/Python-3.9.0/./setup.py", 
line 1038, in detect_readline_curses
    (tuple(int(n) for n in dep_target.split('.')[0:2])
AttributeError: 'int' object has no attribute 'split'
make: *** [sharedmods] Error 1

See the full report here: https://github.com/Homebrew/brew/issues/9329

The problem is here: 
https://github.com/python/cpython/blob/master/setup.py#L1015
When MACOSX_DEPLOYMENT_TARGET=11, this call:
sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
returns an int (with value 11) instead of a string (as is the case if 11.0, 
10.15, etc).

And therefore the subsequent call to: dep_target.split('.')[0:2] fails, because 
split() cannot be called on an int.

----------
components: Build
messages: 382071
nosy: fxcoudert
priority: normal
severity: normal
status: open
title: Failure to build with MACOSX_DEPLOYMENT_TARGET=11 on Big Sur
type: compile error
versions: Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42504>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to