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: Sun, 13 Dec 2020 00:52:34 -0800	[thread overview]
Message-ID: <758d2138-587b-2970-6c35-69d5c655a598@maxrnd.com> (raw)
In-Reply-To: <Pine.BSF.4.63.2012112223120.53260@m0.truegem.net>

Mark Geisert wrote:
> 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

And the corruption is due to something about a recent change to the operation of 
Cygwin's uname() function.  The change was introduced in Cygwin API version 335; 
I'm running 340 on my test machine.  This being a fairly recent change might 
possibly explain why nobody else has run into this issue yet.

Basically, os.uname within Python is calling Cygwin's uname() passing the address 
of a buffer declared to be 'struct utsname'.  The structure layout changed in API 
335.  What I've hit is a mismatch between what Python expects and Cygwin delivers.

I'll move this discussion over to the developers list tomorrow.

..mark

  reply	other threads:[~2020-12-13  8:52 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
2020-12-13  8:52   ` Mark Geisert [this message]
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=758d2138-587b-2970-6c35-69d5c655a598@maxrnd.com \
    --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).