public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Mark Geisert <mark@maxrnd.com>
To: Cygwin-Apps <cygwin-apps@cygwin.com>
Subject: Re: Failure during build of Python 3.8 via cygport
Date: Fri, 11 Dec 2020 22:33:35 -0800 (PST)	[thread overview]
Message-ID: <Pine.BSF.4.63.2012112223120.53260@m0.truegem.net> (raw)
In-Reply-To: <a7bcec5f-b01b-c1e4-81e6-1990f11e351e@maxrnd.com>

[replying to myself again...]

A similar problem happens when building 3.6 and 3.7 too.  Details at end.

On Wed, 9 Dec 2020, Mark Geisert wrote:
> Hi Marco,
> I was building Python locally so I can later submit a patch against it.  It 
> appears the local python.exe was built successfully, but a later step failed 
> with:
>
>> ./python.exe -E -S -m sysconfig --generate-posix-vars ;\
>> if test $? -ne 0 ; then \
>>         echo "generate-posix-vars failed" ; \
>>         rm -f ./pybuilddir.txt ; \
>>         exit 1 ; \
>> fi
>> Traceback (most recent call last):
>>   File 
>> "/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py", 
>> line 194, in _run_module_as_main
>>     return _run_code(code, main_globals, None,
>>   File 
>> "/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/runpy.py", 
>> line 87, in _run_code
>>     exec(code, run_globals)
>>   File 
>> "/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
>> line 711, in <module>
>>     _main()
>>   File 
>> "/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
>> line 699, in _main
>>     _generate_posix_vars()
>>   File 
>> "/usr/src/python38-3.8.3-1.src/python38-3.8.3-1.x86_64/src/Python-3.8.3/Lib/sysconfig.py", 
>> line 416, in _generate_posix_vars
>>     f.write(pybuilddir)
>> UnicodeEncodeError: 'utf-8' codec can't encode characters in position 
>> 17-19: surrogates not allowed
>> generate-posix-vars failed
>> make: *** [Makefile:592: pybuilddir.txt] Error 1
>> *** ERROR: make failed
>
> I've seen UnicodeEncodeError before and searched and found how to fix it.. 
> but hitting the issue while building Python itself seems more fraught.  Is 
> this a known issue with known fix?

This seems to be a problem setting up a platform-specific build directory. 
The sysconfig.py script wants to use "lib." + platform + pythonversion but 
the platform string somehow gets corrupted into non-utf8 bytes.  For 
instance, building Python 3.8 comes up with:
     lib.cygwin-\365\377\377o-\377o-3.8
as the directory name.  Broken, but could work.  The build failure happens 
because the script tries to write this directory name into a file but it's 
not a valid utf8 string.  The directory name should have been:
     lib.cygwin-3.2.0-x86_64-3.8

I'm trying to debug further, learning Python as I go.  Whee....

..mark

  reply	other threads:[~2020-12-12  6:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-09  8:14 Mark Geisert
2020-12-12  6:33 ` Mark Geisert [this message]
2020-12-13  8:52   ` Mark Geisert
2020-12-13 14:34     ` Marco Atzeri
2020-12-13 21:59       ` Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.BSF.4.63.2012112223120.53260@m0.truegem.net \
    --to=mark@maxrnd.com \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).