• Compiling python on windows with vs

    From Thomas Schweikle@21:1/5 to Python on Tue Jun 13 07:01:37 2023
    --------------mfWMSvjN19h6zBeRpf0QPLIR
    Content-Type: multipart/mixed; boundary="------------OmWryWrw2rASXX7Aza40tLzE"

    --------------OmWryWrw2rASXX7Aza40tLzE
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    SGkhDQoNClRyeWluZyB0byBjb21waWxlIHB5dGhvbiBvbiB3aW5kb3dzIGxlYWRzIHRvIGZv bGxvd2luZyBlcnJvcjoNCg0KICAgX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qIC0+IA0K QzpcVXNlcnNcc2N0LW11Y1xEb2N1bWVudHNcUHJvamVrdGVcY3B5dGhvblxQQ2J1aWxkXGFt ZDY0XF90ZXN0aW1wb3J0bXVsdGlwbGUucHlkDQogICBfdGVzdG11bHRpcGhhc2UuYw0KICAg ICAgQmlibGlvdGhlayANCiJDOlxVc2Vyc1xzY3QtbXVjXERvY3VtZW50c1xQcm9qZWt0ZVxj cHl0aG9uXFBDYnVpbGRcYW1kNjRcX3Rlc3RtdWx0aXBoYXNlLmxpYiIgDQp1bmQgT2JqZWt0 ICJDOlxVc2Vyc1xzY3QtbXVjXERvY3VtZQ0KICAgbnRzXFByb2pla3RlXGNweXRob25cUENi dWlsZFxhbWQ2NFxfdGVzdG11bHRpcGhhc2UuZXhwIiB3ZXJkZW4gZXJzdGVsbHQuDQogICBD b2RlIHdpcmQgZ2VuZXJpZXJ0Lg0KICAgQ29kZWdlbmVyaWVydW5nIGlzdCBhYmdlc2NobG9z c2VuLg0KICAgX3Rlc3RtdWx0aXBoYXNlLnZjeHByb2ogLT4gDQpDOlxVc2Vyc1xzY3QtbXVj XERvY3VtZW50c1xQcm9qZWt0ZVxjcHl0aG9uXFBDYnVpbGRcYW1kNjRcX3Rlc3RtdWx0aXBo YXNlLnB5ZA0KICAgX3Rlc3Rjb25zb2xlLmMNCkM6XFVzZXJzXHNjdC1tdWNcRG9jdW1lbnRz XFByb2pla3RlXGNweXRob25cUENcX3Rlc3Rjb25zb2xlLmMoMTMsMTApOiANCmZhdGFsICBl cnJvciBDMTA4MzogRGF0ZWkgKEluY2x1ZGUpIGthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRl DQpuOiAiLi5cbW9kdWxlc1xfaW9cX2lvbW9kdWxlLmgiOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5IA0KW0M6XFVzZXJzXHNjdC1tdWNcRG9jdW1lbnRzXFByb2pla3RlXGNweXRob25c UENidWlsZFxfdGVzdGNvbnNvbGUudmN4cHJvDQpqXQ0KDQpGZWhsZXIgYmVpbSBCdWlsZHZv cmdhbmcuDQoNCmlmIEkgcmVuYW1lICJNb2R1bGVzIiB0byAibW9kdWxlcyIgaXQgd2lsbCBm aW5kIA0KIi4uXG1vZHVsZXNcX2lvXF9pb21vZHVsZS5oIiBidXQgd29udCBmaW5kICIuLlxN b2R1bGVzXC4uLiINCg0KU2luY2UgR2l0IGVuYWJsZXMgV2luZG93cyBOVEZTIGNhc2Ugc2Vu c2l0aXZpdHkgd2hpbGUgY2hlY2tpbmcgb3V0IA0Kc291cmNlcyAuLi4gaXMgaXQgYSBidWcg b3IgYSAiZmVhdHVyZSI/IEFuZDogaXMgdGhlcmUgYSBzaW1wbGUgDQp3b3JrYXJvdW5kIGF2 YWlsYWJsZSBiZXNpZGVzIGRpc2FibGluZyBjYXNlIHNlbnNpdGl2aXR5ICh3aGljaCB3aWxs IA0KYnJlYWsgb3RoZXJzKT8NCi0tIA0KVGhvbWFzDQoNCg== --------------OmWryWrw2rASXX7Aza40tLzE--

    --------------mfWMSvjN19h6zBeRpf0QPLIR--

    -----BEGIN PGP SIGNATURE-----

    wrsEABMKACMWIQSs37Gvgs8IS5SOy10nriMEtJdIUQUCZIgUTgUDAAAAAAAKCRAnriMEtJdIUaab AgCVyKlMRayRvRxEUy1/UoM8G4tYKdm1Zp4uT5Lqx6PMuF+vW/8BZ68AldlER5xjhcTnQViqzULM 2yUsFGmv/e7iAfwO4cZFKe/tyW2TCvQVfdsrM4lKLAqagt+nzz9kEKMJpW3oz28lq/fp2g3r5VpR 37eQZsaovs7PF1u2Pc+xoQ6U
    =2Lv9
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jim Schwartz@21:1/5 to All on Tue Jun 13 12:20:38 2023
    What version of visual studio are you using? What version of python? I’ve had success with using the cython package in python and cl from visual studio, but I haven’t tried visual studio alone.

    Sent from my iPhone

    On Jun 13, 2023, at 11:59 AM, Thomas Schweikle via Python-list <[email protected]> wrote:

    Fehler beim Buildvorgang

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mats Wichmann@21:1/5 to Thomas Schweikle via Python-list on Tue Jun 13 12:36:17 2023
    On 6/13/23 12:12, Thomas Schweikle via Python-list wrote:


    Am Di., 13.Juni.2023 um 19:20:38 schrieb Jim Schwartz:
    What version of visual studio are you using?

    Visual Studio 2022, aka 17.6.2.

    What version of python?

    python 3.10.11 or 3.11.4

    I’ve had success with using the cython package in python and cl from
    visual studio, but I haven’t tried visual studio alone.

    Same problem at the same place: directory "../modules/..." not found, Renaming it from "Modules" to "modules" it is found, but then fails to
    find "Modules".

    Looks like it awaits, compiling in Windows an filesystem only case
    aware, not case sensitive -- I'm assuming this a bug now. Building
    within cygwin (or MSYS, Ubuntu) this works as expected. But there it
    does not search for "modules" once and "Modules" at an other place.

    I just did this build the other day for the first time even from a git checkout (so VS22, and not a versioned release but top of main branch),
    and there was no such problem - did you follow the instructions at https://devguide.python.org/getting-started/setup-building/index.html?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jim Schwartz@21:1/5 to All on Tue Jun 13 13:42:50 2023
    One expert told me to do the following when compiling via cython and cl:

    cython -3 --embed -o c_file_name python_file_name

    Then, assuming python is installed in your apps directory and not your program files directory:

    set "PYTHON_DIR=%LocalAppData%\Programs\Python\Python311"

    or whatever directory you put python in.

    cl /O2 /I"%PYTHON_DIR%\Include" c_file_name /link /libpath:"%PYTHON_DIR%\libs"

    If that doesn't work, that's all I have. Sorry.

    -----Original Message-----
    From: Python-list <python-list-bounces+jschwar=[email protected]> On Behalf Of Thomas Schweikle via Python-list
    Sent: Tuesday, June 13, 2023 1:12 PM
    To: Python <[email protected]>
    Cc: Thomas Schweikle <[email protected]>
    Subject: Re: Compiling python on windows with vs



    Am Di., 13.Juni.2023 um 19:20:38 schrieb Jim Schwartz:
    What version of visual studio are you using?

    Visual Studio 2022, aka 17.6.2.

    What version of python?

    python 3.10.11 or 3.11.4

    I’ve had success with using the cython package in python and cl from visual studio, but I haven’t tried visual studio alone.

    Same problem at the same place: directory "../modules/..." not found, Renaming it from "Modules" to "modules" it is found, but then fails to find "Modules".

    Looks like it awaits, compiling in Windows an filesystem only case aware, not case sensitive -- I'm assuming this a bug now. Building within cygwin (or MSYS, Ubuntu) this works as expected. But there it does not search for "modules" once and "Modules" at
    an other place.

    On Jun 13, 2023, at 11:59 AM, Thomas Schweikle via Python-list <[email protected]> wrote:

    Fehler beim Buildvorgang
    --
    Thomas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Schweikle@21:1/5 to Python on Tue Jun 13 18:12:25 2023
    --------------ntUCNuixpNAk4rA1b7Y20409
    Content-Type: multipart/mixed; boundary="------------TwfXntChjwJsTJ6me0eWFnsV"

    --------------TwfXntChjwJsTJ6me0eWFnsV
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    DQoNCkFtIERpLiwgMTMuSnVuaS4yMDIzIHVtIDE5OjIwOjM4IHNjaHJpZWIgSmltIFNjaHdh cnR6Og0KPiBXaGF0IHZlcnNpb24gb2YgdmlzdWFsIHN0dWRpbyBhcmUgeW91IHVzaW5nPw0K DQpWaXN1YWwgU3R1ZGlvIDIwMjIsIGFrYSAxNy42LjIuDQoNCj4gV2hhdCB2ZXJzaW9uIG9m IHB5dGhvbj8NCg0KcHl0aG9uIDMuMTAuMTEgb3IgMy4xMS40DQoNCj4gSeKAmXZlIGhhZCBz dWNjZXNzIHdpdGggdXNpbmcgdGhlIGN5dGhvbiBwYWNrYWdlIGluIHB5dGhvbiBhbmQgY2wg ZnJvbSB2aXN1YWwgc3R1ZGlvLCBidXQgSSBoYXZlbuKAmXQgdHJpZWQgdmlzdWFsIHN0dWRp byBhbG9uZS4NCg0KU2FtZSBwcm9ibGVtIGF0IHRoZSBzYW1lIHBsYWNlOiBkaXJlY3Rvcnkg Ii4uL21vZHVsZXMvLi4uIiBub3QgZm91bmQsIA0KUmVuYW1pbmcgaXQgZnJvbSAiTW9kdWxl cyIgdG8gIm1vZHVsZXMiIGl0IGlzIGZvdW5kLCBidXQgdGhlbiBmYWlscyB0byANCmZpbmQg Ik1vZHVsZXMiLg0KDQpMb29rcyBsaWtlIGl0IGF3YWl0cywgY29tcGlsaW5nIGluIFdpbmRv d3MgYW4gZmlsZXN5c3RlbSBvbmx5IGNhc2UgDQphd2FyZSwgbm90IGNhc2Ugc2Vuc2l0aXZl IC0tIEknbSBhc3N1bWluZyB0aGlzIGEgYnVnIG5vdy4gQnVpbGRpbmcgDQp3aXRoaW4gY3ln d2luIChvciBNU1lTLCBVYnVudHUpIHRoaXMgd29ya3MgYXMgZXhwZWN0ZWQuIEJ1dCB0aGVy ZSBpdCANCmRvZXMgbm90IHNlYXJjaCBmb3IgIm1vZHVsZXMiIG9uY2UgYW5kICJNb2R1bGVz IiBhdCBhbiBvdGhlciBwbGFjZS4NCg0KPj4gT24gSnVuIDEzLCAyMDIzLCBhdCAxMTo1OSBB TSwgVGhvbWFzIFNjaHdlaWtsZSB2aWEgUHl0aG9uLWxpc3QgPHB5dGhvbi1saXN0QHB5dGhv bi5vcmc+IHdyb3RlOg0KPj4NCj4+IEZlaGxlciBiZWltIEJ1aWxkdm9yZ2FuZw0KLS0gDQpU aG9tYXMNCg0K
    --------------TwfXntChjwJsTJ6me0eWFnsV--

    --------------ntUCNuixpNAk4rA1b7Y20409--

    -----BEGIN PGP SIGNATURE-----

    wrsEABMKACMWIQSs37Gvgs8IS5SOy10nriMEtJdIUQUCZIixiAUDAAAAAAAKCRAnriMEtJdIUXB3 Af48JTJtaxA264dMBpxR3F+2nmw8StMUz/4Z/x280mEh7i3ema/YZ8Mxyr4H3wAIKijfGYjTv21r fxn7dIrHovz+AgCb2doHpseWqlvUnkfZ36p29+8dTL/NuqHZt5QKyoc9YjqHdR5HFAu5SKRebYOB h614Q1NelJAnb8ogGaDav5ku
    =xzJ6
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eryk Sun@21:1/5 to Thomas Schweikle via Python-list on Tue Jun 13 13:53:24 2023
    On 6/13/23, Thomas Schweikle via Python-list <[email protected]> wrote:

    Since Git enables Windows NTFS case sensitivity while checking out
    sources ... is it a bug or a "feature"? And: is there a simple

    AFAIK the Windows version of Git (you're not using the Linux version
    of Git via WSL, right?) does not automatically enable NTFS case
    sensitivity. But a newly created directory does inherit the case
    sensitivity of its parent directory. Make sure to clone the CPython
    repo in a directory that has case sensitivity disabled.

    _testconsole.c C:\Users\sct-muc\Documents\Projekte\cpython\PC\_testconsole.c(13,10):
    fatal error C1083: Datei (Include) kann nicht geöffnet werde
    n: "..\modules\_io\_iomodule.h": No such file or directory [C:\Users\sct-muc\Documents\Projekte\cpython\PCbuild\_testconsole.vcxpro
    j]

    I just built the main branch in a case sensitive tree. I had no
    problem building "_testconsole.c". However, building the _decimal
    extension module raised a couple of serious warnings. In "PCbuild/_decimal.vcxproj", there's an include for "..\Modules\_decimal\libmpdec\vcdiv64.asm". However, MSBuild resolved
    this relative path with all lower-case names, i.e. "modules" instead
    of the correct name "Modules", and it incorrectly tried to output
    "vcdiv64.obj" in a subdirectory of "pcbuild" instead of the correct
    name "PCbuild". This appears to be a bug in MSBuild. A lot of Windows
    programs don't handle case-sensitive directories well, including
    Python's standard library. It's understandable when comparing paths,
    but the behavior in this case is inexcusably bad.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Inada Naoki@21:1/5 to [email protected] on Wed Jun 14 14:33:04 2023
    Since Git enables Windows NTFS case sensitivity while checking out sources

    I didn't know that. Would you give us a link to this feature?
    As far as I know, `git config core.ignorecase` doesn't mean NTFS case sensitive.

    On Wed, Jun 14, 2023 at 1:57 AM Thomas Schweikle via Python-list < [email protected]> wrote:

    Hi!

    Trying to compile python on windows leads to following error:

    _testimportmultiple.vcxproj ->

    C:\Users\sct-muc\Documents\Projekte\cpython\PCbuild\amd64\_testimportmultiple.pyd
    _testmultiphase.c
    Bibliothek "C:\Users\sct-muc\Documents\Projekte\cpython\PCbuild\amd64\_testmultiphase.lib"

    und Objekt "C:\Users\sct-muc\Docume
    nts\Projekte\cpython\PCbuild\amd64\_testmultiphase.exp" werden erstellt.
    Code wird generiert.
    Codegenerierung ist abgeschlossen.
    _testmultiphase.vcxproj ->

    C:\Users\sct-muc\Documents\Projekte\cpython\PCbuild\amd64\_testmultiphase.pyd
    _testconsole.c C:\Users\sct-muc\Documents\Projekte\cpython\PC\_testconsole.c(13,10):
    fatal error C1083: Datei (Include) kann nicht geöffnet werde
    n: "..\modules\_io\_iomodule.h": No such file or directory [C:\Users\sct-muc\Documents\Projekte\cpython\PCbuild\_testconsole.vcxpro
    j]

    Fehler beim Buildvorgang.

    if I rename "Modules" to "modules" it will find
    "..\modules\_io\_iomodule.h" but wont find "..\Modules\..."

    Since Git enables Windows NTFS case sensitivity while checking out
    sources ... is it a bug or a "feature"? And: is there a simple
    workaround available besides disabling case sensitivity (which will
    break others)?
    --
    Thomas

    --
    https://mail.python.org/mailman/listinfo/python-list



    --
    Inada Naoki <[email protected]>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eryk Sun@21:1/5 to Inada Naoki via Python-list on Wed Jun 14 08:10:50 2023
    On 6/14/23, Inada Naoki via Python-list <[email protected]> wrote:
    Since Git enables Windows NTFS case sensitivity while checking out sources

    I didn't know that. Would you give us a link to this feature?
    As far as I know, `git config core.ignorecase` doesn't mean NTFS case sensitive.

    If a repo is cloned into a case-insensitive directory, then
    core.ignorecase should be enabled automatically. If a repo is cloned
    into a case-sensitive directory, then core.ignorecase should not be
    enabled automatically.

    I searched through relevant issues on the Git for Windows repo on
    GitHub, and I found nothing to indicate that a capability to
    automatically enable NTFS case sensitivity has been added. I searched
    through the source of Git and Git for Windows, and I didn't find any
    references to WinAPI SetFileInformationByHandle: FileCaseSensitiveInfo
    or NTAPI NtSetInformationFile: FileCaseSensitiveInformation, nor the
    use of fsutil file setCaseSensitiveInfo.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Inada Naoki@21:1/5 to All on Thu Jun 15 22:44:42 2023
    Then, git doesn't enable Windows NTFS case sensitivity.

    You enabled NTFS case sensitivity on "C:\Users\user\K".
    And Windows enabled case sensitivity for all new directories under the directory.

    Since it is not default and minor setting, it is not a bug that
    current Python doesn't support building on case sensitive directory.
    But I think it is a nice improvement if next Python supports it.

    Regards,

    --
    Inada Naoki <[email protected]>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eryk Sun@21:1/5 to Thomas Schweikle via Python-list on Thu Jun 15 09:28:21 2023
    On 6/15/23, Thomas Schweikle via Python-list <[email protected]> wrote:

    In this case: not sure what is going on.

    Possibly you have a setting configured that affects the behavior of
    Git via the MinGW-w64 runtime, such that calling mkdir() ends up
    calling NtSetInformationFile() to set the FileCaseSensitiveInformation
    for the directory.

    Does the mkdir command in Git bash create a case-sensitive directory?
    It doesn't for me. I have to manually enable case sensitivity via
    `chattr +C`.

    What do you get for `which git` and `git --version`?

    $ which git
    /mingw64/bin/git

    $ git --version
    git version 2.41.0.windows.1

    $ fsutil file queryCaseSensitiveInfo .

    The MSYS2 environment includes lsattr and chattr commands, with the case-sensitive flag mapped to "C". It's probably more convenient than
    typing `fsutil file queryCaseSensitiveInfo` or `fsutil file setCaseSensitiveInfo`.

    $ lsattr -d test
    ------------ test
    $ chattr +C test
    $ lsattr -d test
    -----------C test

    core.ignorecase is not regarded in any way. It does not mater if it is
    set or not.

    Git tests the case-sensitivity of the target directory to configure core.ignorecase when cloning a repo. If it's case insensitive, then core.ignorecase is enabled. This overrides the global value. AFAIK,
    the ignorecase setting is unrelated to actually setting the case
    sensitivity of created directories; it just affects how Git behaves on
    a case-insensitive filesystem.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Schweikle@21:1/5 to Python on Thu Jun 15 15:55:28 2023
    --------------337GtBtoK500sg2C7Qv0nxcx
    Content-Type: multipart/mixed; boundary="------------dhqlhDJJNb7uTLOsHn1bbTeO"

    --------------dhqlhDJJNb7uTLOsHn1bbTeO
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    DQoNCkFtIERvLiwgMTUuSnVuaS4yMDIzIHVtIDE2OjI4OjIxIHNjaHJpZWIgRXJ5ayBTdW46 DQo+IE9uIDYvMTUvMjMsIFRob21hcyBTY2h3ZWlrbGUgdmlhIFB5dGhvbi1saXN0IDxweXRo b24tbGlzdEBweXRob24ub3JnPiB3cm90ZToNCj4+DQo+PiBJbiB0aGlzIGNhc2U6IG5vdCBz dXJlIHdoYXQgaXMgZ29pbmcgb24uDQo+IA0KPiBQb3NzaWJseSB5b3UgaGF2ZSBhIHNldHRp bmcgY29uZmlndXJlZCB0aGF0IGFmZmVjdHMgdGhlIGJlaGF2aW9yIG9mDQo+IEdpdCB2aWEg dGhlIE1pbkdXLXc2NCBydW50aW1lLCBzdWNoIHRoYXQgY2FsbGluZyBta2RpcigpIGVuZHMg dXANCj4gY2FsbGluZyBOdFNldEluZm9ybWF0aW9uRmlsZSgpIHRvIHNldCB0aGUgRmlsZUNh c2VTZW5zaXRpdmVJbmZvcm1hdGlvbg0KPiBmb3IgdGhlIGRpcmVjdG9yeS4NCg0KSXQgaXMg YSBtb3VudCBvcHRpb24gZm9yIE1TWVMgb3IgY3lnd2luIGNvbnRyb2xsZWQgcGFydHMgb2Yg dGhlIGZpbGUgDQpzeXN0ZW0uIHBvc2l4PTEgc3dpdGNoZXMgY2FzZSBzZW5zaXRpdml0eSBv biwgcG9zaXg9MCBzd2l0Y2hlcyBpdCBvZmYuDQoNCk1TWVMgb3IgY3lnd2luIGFyZSB0aGVu IG1ha2UgY2FzZVNlbnNpdGl2ZUluZm8gImluaGVyaXRhdGVkIiBieSBzZXR0aW5nIA0KdGhp cyBmbGFnIGZvciBhbGwgbmV3bHkgY3JlYXRlZCBkaXJlY3Rvcmllcy4gVGhpcyBpcyBhIGZl YXR1cmUgb2YgdGhlIA0KbGF0ZXN0IGN5Z3dpbi1kbGwuIEl0IG1pZ2h0IG5vdCBiZSBzZWVu IG9uIG9sZGVyIHZhcmlhbnRzLg0KDQo+IERvZXMgdGhlIG1rZGlyIGNvbW1hbmQgaW4gR2l0 IGJhc2ggY3JlYXRlIGEgY2FzZS1zZW5zaXRpdmUgZGlyZWN0b3J5Pw0KPiBJdCBkb2Vzbid0 IGZvciBtZS4gSSBoYXZlIHRvIG1hbnVhbGx5IGVuYWJsZSBjYXNlIHNlbnNpdGl2aXR5IHZp YQ0KPiBgY2hhdHRyICtDYC4NCj4gDQo+IFdoYXQgZG8geW91IGdldCBmb3IgYHdoaWNoIGdp dGAgYW5kIGBnaXQgLS12ZXJzaW9uYD8NCj4gDQo+ICAgICAgJCB3aGljaCBnaXQNCj4gICAg ICAvbWluZ3c2NC9iaW4vZ2l0DQo+IA0KPiAgICAgICQgZ2l0IC0tdmVyc2lvbg0KPiAgICAg IGdpdCB2ZXJzaW9uIDIuNDEuMC53aW5kb3dzLjENCg0KdGhlIHNhbWU6DQokIHdoaWNoIGdp dA0KL21pbmd3NjQvYmluL2dpdA0KDQokIGdpdCAtLXZlcnNpb24NCmdpdCB2ZXJzaW9uIDIu NDEuMC53aW5kb3dzLjENCg0KQW5kIGluIGNtZC5leGU6DQorPndoZXJlIGdpdA0KQzpcUHJv Z3JhbSBGaWxlc1xHaXRcYmluXGdpdC5leGUNCg0KKz5naXQgLS12ZXJzaW9uDQpnaXQgdmVy c2lvbiAyLjQxLjAud2luZG93cy4xDQoNCj4+ICQgZnN1dGlsIGZpbGUgcXVlcnlDYXNlU2Vu c2l0aXZlSW5mbyAuDQo+IA0KPiBUaGUgTVNZUzIgZW52aXJvbm1lbnQgaW5jbHVkZXMgbHNh dHRyIGFuZCBjaGF0dHIgY29tbWFuZHMsIHdpdGggdGhlDQo+IGNhc2Utc2Vuc2l0aXZlIGZs YWcgbWFwcGVkIHRvICJDIi4gSXQncyBwcm9iYWJseSBtb3JlIGNvbnZlbmllbnQgdGhhbg0K PiB0eXBpbmcgYGZzdXRpbCBmaWxlIHF1ZXJ5Q2FzZVNlbnNpdGl2ZUluZm9gIG9yIGBmc3V0 aWwgZmlsZQ0KPiBzZXRDYXNlU2Vuc2l0aXZlSW5mb2AuDQo+IA0KPiAgICAgICQgbHNhdHRy IC1kIHRlc3QNCj4gICAgICAtLS0tLS0tLS0tLS0gdGVzdA0KPiAgICAgICQgY2hhdHRyICtD IHRlc3QNCj4gICAgICAkIGxzYXR0ciAtZCB0ZXN0DQo+ICAgICAgLS0tLS0tLS0tLS1DIHRl c3QNCg0KVHJ1ZS4gQnV0IGlmIHlvdSBmcmVxdWVudGx5IGNoYW5nZSBiZXR3ZWVuIGVudmly b25tZW50cyBmc3V0aWwgaXMgdGhlIA0KY29tbWFuZCB3b3JraW5nIGluIGNtZC5leGUgYXMg aW4gZ2l0LXNoZWxsLg0KDQo+PiBjb3JlLmlnbm9yZWNhc2UgaXMgbm90IHJlZ2FyZGVkIGlu IGFueSB3YXkuIEl0IGRvZXMgbm90IG1hdGVyIGlmIGl0IGlzDQo+PiBzZXQgb3Igbm90Lg0K PiANCj4gR2l0IHRlc3RzIHRoZSBjYXNlLXNlbnNpdGl2aXR5IG9mIHRoZSB0YXJnZXQgZGly ZWN0b3J5IHRvIGNvbmZpZ3VyZQ0KPiBjb3JlLmlnbm9yZWNhc2Ugd2hlbiBjbG9uaW5nIGEg cmVwby4gSWYgaXQncyBjYXNlIGluc2Vuc2l0aXZlLCB0aGVuDQo+IGNvcmUuaWdub3JlY2Fz ZSBpcyBlbmFibGVkLiBUaGlzIG92ZXJyaWRlcyB0aGUgZ2xvYmFsIHZhbHVlLiBBRkFJSywN Cj4gdGhlIGlnbm9yZWNhc2Ugc2V0dGluZyBpcyB1bnJlbGF0ZWQgdG8gYWN0dWFsbHkgc2V0 dGluZyB0aGUgY2FzZQ0KPiBzZW5zaXRpdml0eSBvZiBjcmVhdGVkIGRpcmVjdG9yaWVzOyBp dCBqdXN0IGFmZmVjdHMgaG93IEdpdCBiZWhhdmVzIG9uDQo+IGEgY2FzZS1pbnNlbnNpdGl2 ZSBmaWxlc3lzdGVtLg0KDQotLSANClRob21hcw0KDQo= --------------dhqlhDJJNb7uTLOsHn1bbTeO--

    --------------337GtBtoK500sg2C7Qv0nxcx--

    -----BEGIN PGP SIGNATURE-----

    wrsEABMKACMWIQSs37Gvgs8IS5SOy10nriMEtJdIUQUCZIs0cAUDAAAAAAAKCRAnriMEtJdIUQ4o AfwJBrQLk+lJxdFssHA2e6VUMM1k0IapQTKg3e7WxPxHapZUFbzs/V+Iqj0sBBFGi8sm+REkcUIX hs6urJ2bQ+8GAgCOaw73iIVOJzEOZhlK8R/aeNOqCTNegzFsc0T2nniM9rFzb7TI4GwqMCHCgehr wBnHP5uD2/yiZZ+oIqKG0CdL
    =NQTn
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Schweikle@21:1/5 to Python on Thu Jun 15 15:32:22 2023
    --------------g47JnfatqJtG7yPvkEFG2UoX
    Content-Type: multipart/mixed; boundary="------------wY0XUYzjVsq61Y7o7Qjgprqy"

    --------------wY0XUYzjVsq61Y7o7Qjgprqy
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    DQpBbSBEby4sIDE1Lkp1bmkuMjAyMyB1bSAxNTo0NDo0MiBzY2hyaWViIEluYWRhIE5hb2tp Og0KPiBUaGVuLCBnaXQgZG9lc24ndCBlbmFibGUgV2luZG93cyBOVEZTIGNhc2Ugc2Vuc2l0 aXZpdHkuDQo+IA0KPiBZb3UgZW5hYmxlZCBOVEZTIGNhc2Ugc2Vuc2l0aXZpdHkgb24gIkM6 XFVzZXJzXHVzZXJcSyIuDQo+IEFuZCBXaW5kb3dzIGVuYWJsZWQgY2FzZSBzZW5zaXRpdml0 eSBmb3IgYWxsIG5ldyBkaXJlY3RvcmllcyB1bmRlciB0aGUNCj4gZGlyZWN0b3J5Lg0KDQpO by4gVGhpcyBmbGFnIGlzIG5vdCBpbmhlcml0ZWQuIFNvbWVvbmUgaGFzIHRvIHNldCBpdCBm b3IgY3JlYXRlZCANCmRpcmVjdG9yaWVzLiBJdCBpcyBlYXN5IHRvIGNvbmZpcm06IHRha2Ug YSBkaXJlY3Rvcnkgbm90IHVuZGVyIE1TWVMgb3IgDQpjeWd3aW4gY29udHJvbCAoYmVjYXVz ZSBpdCBpcyBtb3VudGVkIGJ5IE1TWVMgb3IgY3lnd2luKSwgc2V0IHRoZSBmbGFnLCANCnRo ZW4gY3JlYXRlIGRpcmVjdG9yaWVzLiBUaGV5IGFsbCB3aWxsIGhhdmUgY2FzZVNlbnNpdGl2 SW5mbyBkaXNhYmxlZC4NCg0KPiBTaW5jZSBpdCBpcyBub3QgZGVmYXVsdCBhbmQgbWlub3Ig c2V0dGluZywgaXQgaXMgbm90IGEgYnVnIHRoYXQNCj4gY3VycmVudCBQeXRob24gZG9lc24n dCBzdXBwb3J0IGJ1aWxkaW5nIG9uIGNhc2Ugc2Vuc2l0aXZlIGRpcmVjdG9yeS4NCj4gQnV0 IEkgdGhpbmsgaXQgaXMgYSBuaWNlIGltcHJvdmVtZW50IGlmIG5leHQgUHl0aG9uIHN1cHBv cnRzIGl0Lg0KDQpQeXRob24gaXRzZWxmIGlzbid0IHRoZSBwcm9ibGVtIGhlcmUuIEl0IGlz IE1TQnVpbGQuZXhlLiBGb3Igc29tZSByZWFzb24gDQp0aGlzIHRvb2wgbG93ZXJjYXNlcyBz b21ldGltZXMgd2hvbGUgcGF0aHMgdG8gZmlsZXMgaW5jbHVkZWQuIFRoaXMgZG9lcyANCm5v dCBtYXR0ZXIgaWYgY2FzZSBzZW5zaXRpdml0eSBpcyBkaXNhYmxlZC4gSXQgbWF0dGVycyBp ZiBjYXNlIA0Kc2Vuc2l0aXZpdHkgaXMgZW5hYmxlZCEgVGhlcmUgaXMgbm8gcmVhc29uIE1T QlVpbGQuZXhlIGRvZXMgaXQuIEJ1dCBpdCANCmlzIGRvbmUgZm9yIHNvbWUgcGF0aHMgKGFz IHNvbWVvbmUgZWxzZSBwb2ludGVkIG91dCkuDQoNCj4gDQo+IFJlZ2FyZHMsDQo+IA0KPiAt LQ0KPiBJbmFkYSBOYW9raSAgPHNvbmdvZmFjYW5keUBnbWFpbC5jb20+DQoNCi0tIA0KVGhv bWFzDQoNCg==
    --------------wY0XUYzjVsq61Y7o7Qjgprqy--

    --------------g47JnfatqJtG7yPvkEFG2UoX--

    -----BEGIN PGP SIGNATURE-----

    wrsEABMKACMWIQSs37Gvgs8IS5SOy10nriMEtJdIUQUCZIsvBQUDAAAAAAAKCRAnriMEtJdIUQjL Af0bMr3vM+9bqofBF7GM0yetowVozeRYNGhKLLv7I2x3RwQtmSaG1r9nZ38V2rtbVBQC0sdnl9l1 FkMU968Myf66AgCMP5II+3/JgFNdiu7dOxR3bCWiAYjW61yssD3MQYT/cjuY0bKVp8b/0dkl8dF2 Y7nz1Qho2IG5lknvqYKxAmPO
    =qarC
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eryk Sun@21:1/5 to Thomas Schweikle via Python-list on Thu Jun 15 11:35:46 2023
    On 6/15/23, Thomas Schweikle via Python-list <[email protected]> wrote:

    No. This flag is not inherited. Someone has to set it for created directories. It is easy to confirm: take a directory not under MSYS or
    cygwin control (because it is mounted by MSYS or cygwin), set the flag,
    then create directories. They all will have caseSensitivInfo disabled.

    That was how the attribute was implemented initially in Windows 10,
    but subsequently it was made inheritable. For example:

    C:\Temp\test>mkdir spam
    C:\Temp\test>fsutil file setCaseSensitiveInfo spam enable
    Error: Access is denied.

    Setting the case-sensitive attribute requires the right to add files
    and directories (i.e. "WD" = "write data" / "add file"; "AD" = "append
    data" / "add subdirectory") and the right to remove files and
    directories (i.e. "DC" = "delete child"). The owner of a directory
    doesn't necessarily inherit these rights from the parent directory
    (which is my case here), but the owner of any object usually has the
    implicit right to modify discretionary security. Let's simply grant
    the owner (i.e. "OW" = "owner rights") full control of the directory
    (i.e. "F"), inheritable to child directories (i.e. "CI" = "container
    inherit").

    C:\Temp\test>icacls spam /grant *OW:(CI)(F)
    processed file: spam
    Successfully processed 1 files; Failed processing 0 files

    C:\Temp\test>fsutil file setCaseSensitiveInfo spam enable
    Case sensitive attribute on directory C:\Temp\test\spam is enabled.

    Now, create a child directory and confirm that it inherits the
    case-sensitive flag.

    C:\Temp\test>mkdir spam\eggs
    C:\Temp\test>fsutil file queryCaseSensitiveInfo spam\eggs
    Case sensitive attribute on directory C:\Temp\test\spam\eggs is enabled.

    Python itself isn't the problem here. It is MSBuild.exe. For some reason
    this tool lowercases sometimes whole paths to files included. This does
    not matter if case sensitivity is disabled. It matters if case
    sensitivity is enabled! There is no reason MSBUild.exe does it. But it
    is done for some paths (as someone else pointed out).

    For the specific problem you had when building 3.10 and 3.11, it's
    actually a bug in Python's source code, which is no longer present in
    3.12+. It can be fixed in 3.11, but 3.10 no longer gets bug fixes.
    Here's the link to the issue on GitHub:

    https://github.com/python/cpython/issues/105737

    I encountered a different bug when building the main branch. Building
    the _decimal extension module includes an .asm file. The relative path
    in the project file has the correct case, but the build system
    resolved the fully-qualified path as all lower case. This problem only
    occurred for this single file, out of hundreds of relative paths in
    the project files, so it's not like the build system is completely
    broken when working in case-sensitive directories.

    There are probably a few such bugs that need to be fixed in msbuild,
    the compiler, and linker. After all, these tools have been developed
    and tested for decades on only case-insensitive filesystems. But you
    don't have to be on the bleeding edge. There's no reason to make
    directories case-sensitive for repositories that are intended for use
    on Windows, such as CPython.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)