Skip to content

abi3 extension named for build arch on linux-ppc64le cross build #109

Description

@MementoRC

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Summary

On a linux-64 -> linux-ppc64le cross build, setuptools names a
py_limited_api (abi3) extension using the BUILD interpreter's platform
triple. The resulting file cannot be imported by the target interpreter,
so the package test phase fails.

Feedstock: conda-forge/tree-sitter-embedded-template-feedstock PR #6
Reproduced locally with build-locally.py, and on CI.

Expected

_binding.abi3-powerpc64le-linux-gnu.so

Actual

_binding.abi3-x86_64-linux-gnu.so (68.35 KiB, correct ppc64le object)
ModuleNotFoundError: No module named
'tree_sitter_embedded_template._binding'

The object itself is correct. It is compiled by
powerpc64le-conda-linux-gnu-cc into build/lib.linux-ppc64le-cpython-315/
and relinked normally. Only the filename carries the wrong triple.
The wheel platform tag is correct: cp310-abi3-linux_ppc64le.

Possibly related: #77

Installed packages

│ │ │ _openmp_mutex                 ┆ 4.5       ┆ 20_gnu               ┆ conda-forge ┆  28.27 KiB │
 │ │ │ _python_rc                    ┆ 1         ┆ ha5edcf3_0           ┆ python_rc   ┆   5.17 KiB │
 │ │ │ binutils_impl_linux-64        ┆ 2.46.1    ┆ default_hfdba357_102 ┆ conda-forge ┆   3.54 MiB │
 │ │ │ binutils_impl_linux-ppc64le   ┆ 2.46.1    ┆ default_hfc45d48_102 ┆ conda-forge ┆   3.12 MiB │
 │ │ │ binutils_linux-ppc64le        ┆ 2.46.1    ┆ default_h492aadc_102 ┆ conda-forge ┆  35.51 KiB │
 │ │ │ bzip2                         ┆ 1.0.8     ┆ hda65f42_10          ┆ conda-forge ┆ 251.77 KiB │
 │ │ │ ca-certificates               ┆ 2026.7.22 ┆ hbd8a1cb_0           ┆ conda-forge ┆ 128.69 KiB │
 │ │ │ cross-python_linux-ppc64le    ┆ 3.15      ┆ 56_cp315             ┆ conda-forge ┆  14.05 KiB │
 │ │ │ crossenv                      ┆ 1.5.0     ┆ pyhcf101f3_3         ┆ conda-forge ┆  34.01 KiB │
 │ │ │ gcc_impl_linux-64             ┆ 15.3.0    ┆ h6f13dc8_4           ┆ conda-forge ┆  79.01 MiB │
 │ │ │ gcc_impl_linux-ppc64le        ┆ 15.3.0    ┆ h2e14ead_4           ┆ conda-forge ┆  76.32 MiB │
 │ │ │ gcc_linux-ppc64le             ┆ 15.3.0    ┆ h8225832_1           ┆ conda-forge ┆  29.09 KiB │
 │ │ │ gxx_impl_linux-ppc64le        ┆ 15.3.0    ┆ he48c67a_4           ┆ conda-forge ┆  13.83 MiB │
 │ │ │ icu                           ┆ 78.3      ┆ py310h44b86e0_2      ┆ conda-forge ┆  13.79 MiB │
 │ │ │ kernel-headers_linux-64       ┆ 6.12.0    ┆ he073ed8_6           ┆ conda-forge ┆   1.47 MiB │
 │ │ │ kernel-headers_linux-ppc64le  ┆ 3.10.0    ┆ h3602f99_18          ┆ conda-forge ┆ 908.96 KiB │
 │ │ │ ld_impl_linux-64              ┆ 2.46.1    ┆ default_hbd61a6d_102 ┆ conda-forge ┆ 727.83 KiB │
 │ │ │ ld_impl_linux-ppc64le         ┆ 2.46.1    ┆ default_h7db0acb_102 ┆ conda-forge ┆ 774.38 KiB │
 │ │ │ libexpat                      ┆ 2.8.1     ┆ hecca717_1           ┆ conda-forge ┆  76.03 KiB │
 │ │ │ libffi                        ┆ 3.7.0     ┆ h81df57d_1           ┆ conda-forge ┆  66.41 KiB │
 │ │ │ libgcc                        ┆ 16.2.0    ┆ ha9f2e26_4           ┆ conda-forge ┆   1.01 MiB │
 │ │ │ libgcc-devel_linux-64         ┆ 15.3.0    ┆ h2b852eb_104         ┆ conda-forge ┆   2.95 MiB │
 │ │ │ libgcc-devel_linux-ppc64le    ┆ 15.3.0    ┆ h9ac1e5a_4           ┆ conda-forge ┆ 776.50 KiB │
 │ │ │ libgomp                       ┆ 16.2.0    ┆ he0feb66_4           ┆ conda-forge ┆ 624.97 KiB │
 │ │ │ libiconv                      ┆ 1.18      ┆ h0cb94f2_3           ┆ conda-forge ┆ 770.97 KiB │
 │ │ │ liblzma                       ┆ 5.8.3     ┆ hb03c661_1           ┆ conda-forge ┆ 110.35 KiB │
 │ │ │ libmpdec                      ┆ 4.0.0     ┆ hb03c661_2           ┆ conda-forge ┆  90.58 KiB │
 │ │ │ libsanitizer                  ┆ 15.3.0    ┆ h54950a5_4           ┆ conda-forge ┆   7.23 MiB │
 │ │ │ libsqlite                     ┆ 3.53.4    ┆ h13e7031_1           ┆ conda-forge ┆ 951.51 KiB │
 │ │ │ libstdcxx                     ┆ 16.2.0    ┆ h934c35e_4           ┆ conda-forge ┆   6.31 MiB │
 │ │ │ libstdcxx-devel_linux-64      ┆ 15.3.0    ┆ hb2c5482_104         ┆ conda-forge ┆  19.71 MiB │
 │ │ │ libstdcxx-devel_linux-ppc64le ┆ 15.3.0    ┆ hea43558_4           ┆ conda-forge ┆  18.16 MiB │
 │ │ │ libuuid                       ┆ 2.42.3    ┆ hcfc3c73_0           ┆ conda-forge ┆  39.06 KiB │
 │ │ │ libzlib                       ┆ 1.3.2     ┆ h25fd6f3_3           ┆ conda-forge ┆  62.22 KiB │
 │ │ │ lz4-c                         ┆ 1.10.0    ┆ hee9eb32_2           ┆ conda-forge ┆ 177.55 KiB │
 │ │ │ ncurses                       ┆ 6.6       ┆ hdb14827_1           ┆ conda-forge ┆ 889.84 KiB │
 │ │ │ openssl                       ┆ 3.6.4     ┆ h781a0a9_0           ┆ conda-forge ┆   3.05 MiB │
 │ │ │ popt                          ┆ 1.19      ┆ hcfc3c73_2           ┆ conda-forge ┆  74.18 KiB │
 │ │ │ python                        ┆ 3.15.0rc2 ┆ hcd007b5_101_cp315   ┆ conda-forge ┆  31.36 MiB │
 │ │ │ python_abi                    ┆ 3.15      ┆ 9_cp315              ┆ conda-forge ┆   6.64 KiB │
 │ │ │ readline                      ┆ 8.3       ┆ hd6e31c0_1           ┆ conda-forge ┆ 340.72 KiB │
 │ │ │ rsync                         ┆ 3.4.4     ┆ hffd6c76_1           ┆ conda-forge ┆ 369.48 KiB │
 │ │ │ sed                           ┆ 4.10      ┆ h19d0853_0           ┆ conda-forge ┆ 262.19 KiB │
 │ │ │ sysroot_linux-64              ┆ 2.39      ┆ hc4b9eeb_6           ┆ conda-forge ┆  40.10 MiB │
 │ │ │ sysroot_linux-ppc64le         ┆ 2.17      ┆ hb9c6658_18          ┆ conda-forge ┆  15.14 MiB │

Environment info

Environment
-----------
rattler-build 0.75.0
build_platform  linux-64
target_platform linux-ppc64le
python 3.15.0rc2 (conda-forge/label/python_rc)
  build interpreter hcd007b5_101_cp315
  host  interpreter hcd8b8f5_101_cp315
cross-python_linux-ppc64le 3.15 build 56_cp315
setuptools 84.0.0
extension built with -DPy_LIMITED_API=0x030A0000

Activity

  1. MementoRC commented on Sep 5, 2026

    @MementoRC
    Author

    This happened on 3 packages, all tree-sitter-...

  2. kleisauke commented on Sep 6, 2026

    @kleisauke

    Also happens in pyvips: conda-forge/pyvips-feedstock#44.

  3. hmaarrfk commented on Sep 6, 2026

    @hmaarrfk
  4. h-vetinari commented on Sep 14, 2026

    @h-vetinari
    Member

    Can someone try their hand at a PR here, rather than proliferating hacks around this in individual feedstocks?

  5. hmaarrfk commented on Sep 14, 2026

    @hmaarrfk

    Do you feel that conda-forge/crossenv-feedstock#49 is a hack?

  6. h-vetinari commented on Sep 14, 2026

    @h-vetinari
    Member

    Do you feel that conda-forge/crossenv-feedstock#49 is a hack?

    As long as fixes are confined to the feedstocks of the respective infrastructure component that's supposed to do a given job, then I'm happy (and though I haven't looked at the details of that PR, since crossenv is a runtime-dep of cross-python, it's certainly plausible that this could fix something).

    What I consider a hack is sprinkling work-arounds on individual feedstocks.

  7. hmaarrfk commented on Sep 14, 2026

    @hmaarrfk

    Ok. I’ll wait until somebody has the time to take a look.

    The cross stuff is quite complicated. And this might just be a reason to drop ppc64le if nobody has time to « not do hacks »

  8. MementoRC commented on Sep 17, 2026

    @MementoRC
    Author

    My mistake, I meant to close and got side-tracked. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions