<#21680 Deprecated field `resolve_local_platforms`...
# github-notifications
c
#21680 Deprecated field `resolve_local_platforms` on `pex_binary` still has effects in 2.220 and 2.23.0 Issue created by marijncv Describe the bug We have been using a
docker_environment
to build
pex_binary
targets. We are running on mac arm architecture, but are building for linux amd. This has been working for some time using a combination of the
complete_platforms
and
resolve_local_platform
fields. Since 2.22.0, the
resolve_local_platforms
field has been deprecated, and there are warnings showing that it is unused and should be disabled. However, when we disable it, our building process breaks. With
resolve_local_platforms=True
(on 2.22.0 and 2.23.0) we can build the pex for the right platform. But with the flag set to false, we get errors like these:
Copy code
stderr:
No pre-built wheel was available for thrift 0.16.0.
Successfully built the wheel thrift-0.16.0-cp39-cp39-linux_x86_64.whl from the sdist thrift-0.16.0.tar.gz but it is not compatible with the requested foreign target complete platform cp311-cp311-manylinux_2_35_x86_64.
You'll need to build a wheel from thrift-0.16.0.tar.gz on the foreign target platform and make it available to Pex via a `--find-links` repo or a custom `--index`.
It seems that it is trying to build the distribution from the sdist, but it is not doing it for the right platform. When we prebuild the wheel, the error goes away. But we would really like to be able to depend on sdists and not have to prebuild every wheel. Pants version 2.22.0 & 2.23.0 OS Both Additional info Environment & pex binary targets:
Copy code
local_environment(
    name="macos_arm64",
    compatible_platforms=["macos_arm64"],
    fallback_environment="linux_amd64",
)

local_environment(
    name="linux_amd64",
    compatible_platforms=["linux_x86_64"],
    fallback_environment="docker_linux_amd64",
)

docker_environment(
    name="docker_linux_amd64",
    platform="linux_x86_64",
    image="<our_linux_image>",
    python_bootstrap_search_path=["<PATH>"],
)

pex_binary(
    name="deps",
    dependencies=[
        "./definitions.py",
    ],
    include_tools=True,
    include_sources=False,
    environment="linux_amd64",
    complete_platforms=["pants-utils/platforms:linux-amd64"],
)
The platforms json file``` { "compatible_tags": [ "cp311-cp311-manylinux_2_35_x86_64", "cp311-cp311-manylinux_2_34_x86_64", "cp311-cp311-manylinux_2_33_x86_64", "cp311-cp311-manylinux_2_32_x86_64", "cp311-cp311-manylinux_2_31_x86_64", "cp311-cp311-manylinux_2_30_x86_64", "cp311-cp311-manylinux_2_29_x86_64", "cp311-cp311-manylinux_2_28_x86_64", "cp311-cp311-manylinux_2_27_x86_64", "cp311-cp311-manylinux_2_26_x86_64", "cp311-cp311-manylinux_2_25_x86_64", "cp311-cp311-manylinux_2_24_x86_64", "cp311-cp311-manylinux_2_23_x86_64", "cp311-cp311-manylinux_2_22_x86_64", "cp311-cp311-manylinux_2_21_x86_64", "cp311-cp311-manylinux_2_20_x86_64", "cp311-cp311-manylinux_2_19_x86_64", "cp311-cp311-manylinux_2_18_x86_64", "cp311-cp311-manylinux_2_17_x86_64", "cp311-cp311-manylinux2014_x86_64", "cp311-cp311-manylinux_2_16_x86_64", "cp311-cp311-manylinux_2_15_x86_64", "cp311-cp311-manylinux_2_14_x86_64", "cp311-cp311-manylinux_2_13_x86_64", "cp311-cp311-manylinux_2_12_x86_64", "cp311-cp311-manylinux2010_x86_64", "cp311-cp311-manylinux_2_11_x86_64", "cp311-cp311-manylinux_2_10_x86_64", "cp311-cp311-manylinux_2_9_x86_64", "cp311-cp311-manylinux_2_8_x86_64", "cp311-cp311-manylinux_2_7_x86_64", "cp311-cp311-manylinux_2_6_x86_64", "cp311-cp311-manylinux_2_5_x86_64", "cp311-cp311-manylinux1_x86_64", "cp311-cp311-linux_x86_64", "cp311-abi3-manylinux_2_35_x86_64", "cp311-abi3-manylinux_2_34_x86_64", "cp311-abi3-manylinux_2_33_x86_64", "cp311-abi3-manylinux_2_32_x86_64", "cp311-abi3-manylinux_2_31_x86_64", "cp311-abi3-manylinux_2_30_x86_64", "cp311-abi3-manylinux_2_29_x86_64", "cp311-abi3-manylinux_2_28_x86_64", "cp311-abi3-manylinux_2_27_x86_64", "cp311-abi3-manylinux_2_26_x86_64", "cp311-abi3-manylinux_2_25_x86_64", "cp311-abi3-manylinux_2_24_x86_64", "cp311-abi3-manylinux_2_23_x86_64", "cp311-abi3-manylinux_2_22_x86_64", "cp311-abi3-manylinux_2_21_x86_64", "cp311-abi3-manylinux_2_20_x86_64", "cp311-abi3-manylinux_2_19_x86_64", "cp311-abi3-manylinux_2_18_x86_64", "cp311-abi3-manylinux_2_17_x86_64", "cp311-abi3-manylinux2014_x86_64", "cp311-abi3-manylinux_2_16_x86_64", "cp311-abi3-manylinux_2_15_x86_64", "cp311-abi3-manylinux_2_14_x86_64", "cp311-abi3-manylinux_2_13_x86_64", "cp311-abi3-manylinux_2_12_x86_64", "cp311-abi3-manylinux2010_x86_64", "cp311-abi3-manylinux_2_11_x86_64", "cp311-abi3-manylinux_2_10_x86_64", "cp311-abi3-manylinux_2_9_x86_64", "cp311-abi3-manylinux_2_8_x86_64", "cp311-abi3-manylinux_2_7_x86_64", "cp311-abi3-manylinux_2_6_x86_64", "cp311-abi3-manylinux_2_5_x86_64", "cp311-abi3-manylinux1_x86_64", "cp311-abi3-linux_x86_64", "cp311-none-manylinux_2_35_x86_64", "cp311-none-manylinux_2_34_x86_64", "cp311-none-manylinux_2_33_x86_64", "cp311-none-manylinux_2_32_x86_64", "cp311-none-manylinux_2_31_x86_64", "cp311-none-manylinux_2_30_x86_64", "cp311-none-manylinux_2_29_x86_64", "cp311-none-manylinux_2_28_x86_64", "cp311-none-manylinux_2_27_x86_64", "cp311-none-manylinux_2_26_x86_64", "cp311-none-manylinux_2_25_x86_64", "cp311-none-manylinux_2_24_x86_64", "cp311-none-manylinux_2_23_x86_64", "cp311-none-manylinux_2_22_x86_64", "cp311-none-manylinux_2_21_x86_64", "cp311-none-manylinux_2_20_x86_64", "cp311-none-manylinux_2_19_x86_64", "cp311-none-manylinux_2_18_x86_64", "cp311-none-manylinux_2_17_x86_64", "cp311-none-manylinux2014_x86_64", "cp311-none-manylinux_2_16_x86_64", "cp311-none-manylinux_2_15_x86_64", "cp311-none-manylinux_2_14_x86_64", "cp311-none-manylinux_2_13_x86_64", "cp311-none-manylinux_2_12_x86_64", "cp311-none-manylinux2010_x86_64", "cp311-none-manylinux_2_11_x86_64", "cp311-none-manylinux_2_10_x86_64", "cp311-none-manylinux_2_9_x86_64", "cp311-none-manylinux_2_8_x86_64", "cp311-none-manylinux_2_7_x86_64", "cp311-none-manylinux_2_6_x86_64", "cp311-none-manylinux_2_5_x86_64", "cp311-none-manylinux1_x86_64", "cp311-none-linux_x86_64", "cp310-abi3-manylinux_2_35_x86_64", "cp310-abi3-manylinux_2_34_x86_64", "cp310-abi3-manylinux_2_33_x86_64", "cp310-abi3-manylinux_2_32_x86_64", "cp310-abi3-manylinux_2_31_x86_64", "cp310-abi3-manylinux_2_30_x86_64", "cp310-abi3-manylinux_2_29_x86_64", "cp310-abi3-manylinux_2_28_x86_64", "cp310-abi3-manylinux_2_27_x86_64", "cp310-abi3-manylinux_2_26_x86_64", "cp310-abi3-manylinux_2_25_x86_64", "cp310-abi3-manylinux_2_24_x86_64", "cp310-abi3-manylinux_2_23_x86_64", "cp310-abi3-manylinux_2_22_x86_64", "cp310-abi3-manylinux_2_21_x86_64", "cp310-abi3-manylinux_2_20_x86_64", "cp310-abi3-manylinux_2_19_x86_64", "cp310-abi3-manylinux_2_18_x86_64", "cp310-abi3-manylinux_2_17_x86_64", "cp310-abi3-manylinux2014_x86_64", "cp310-abi3-manylinux_2_16_x86_64", "cp310-abi3-manylinux_2_15_x86_64", "cp310-abi3-manylinux_2_14_x86_64", "cp310-abi3-manylinux_2_13_x86_64", "cp310-abi3-manylinux_2_12_x86_64", "cp310-abi3-manylinux2010_x86_64", "cp310-abi3-manylinux_2_11_x86_64", "cp310-abi3-manylinux_2_10_x86_64", "cp310-abi3-manylinux_2_9_x86_64", "cp310-abi3-manylinux_2_8_x86_64", "cp310-abi3-manylinux_2_7_x86_64", "cp310-abi3-manylinux_2_6_x86_64", "cp310-abi3-manylinux_2_5_x86_64", "cp310-abi3-manylinux1_x86_64", "cp310-abi3-linux_x86_64", "cp39-abi3-manylinux_2_35_x86_64", "cp39-abi3-manylinux_2_34_x86_64", "cp39-abi3-manylinux_2_33_x86_64", "cp39-abi3-manylinux_2_32_x86_64", "cp39-abi3-manylinux_2_31_x86_64", "cp39-abi3-manylinux_2_30_x86_64", "cp39-abi3-manylinux_2_29_x86_64", "cp39-abi3-manylinux_2_28_x86_64", "cp39-abi3-manylinux_2_27_x86_64", "cp39-abi3-manylinux_2_26_x86_64", "cp39-abi3-manylinux_2_25_x86_64", "cp39-abi3-manylinux_2_24_x86_64", "cp39-abi3-manylinux_2_23_x86_64", "cp39-abi3-manylinux_2_22_x86_64", "cp39-abi3-manylinux_2_21_x86_64", "cp39-abi3-manylinux_2_20_x86_64", "cp39-abi3-manylinux_2_19_x86_64", "cp39-abi3-manylinux_2_18_x86_64", "cp39-abi3-manylinux_2_17_x86_64", "cp39-abi3-manylinux2014_x86_64", "cp39-abi3-manylinux_2_16_x86_64", "cp39-abi3-manylinux_2_15_x86_64", "cp39-abi3-manylinux_2_14_x86_64", "… pantsbuild/pants