Skip to content

cross-compiling on conda-forge is trying to compile a wrong file #560

@mattip

Description

@mattip

Over at conda-forge/ray-packages-feedstock#158 I am trying to get ray which is using bazel5.4 to build for macos. The build machine available in CI is x86_64. When the target is x86_64 everything works. Bug when the target is arm64 (using a --crosstool_top bazel directive), I am seeing the build tries to compile boost/libs/context/src/asm/jump_x86_64_sysv_macho_gas.S which of course cannot succeed since the assembly in that file is for x86_64, not arm64. Conda-forge is a framework that sets up the CI environment, downloads the source code of the project, then runs a script to call the project's build system, in this case ray's source code and using python setup.py which calls bazel to build the project. Here is where this project comes into play:

    auto_http_archive(
        name = "com_github_nelhage_rules_boost",
        # If you update the Boost version, remember to update the 'boost' rule.
        url = "https://github.com/nelhage/rules_boost/archive/57c99395e15720e287471d79178d36a85b64d6f6.tar.gz",
        sha256 = "490d11425393eed068966a4990ead1ff07c658f823fd982fddac67006ccc44ab",
    )

which is then loaded as boost_deps, and then boost is used in other places in the bazel build script, for instance here

Any hints as to what might be going on? Do I need to define something to convey the target CPU to boost? I see the the conda-forge boost feedstock uses ARCHITECTURE=arm in the b2 call, is there something like that needed here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions