Skip to content

wheel packaging moves build tree artifacts to different locations and packages them #2452

@lepus2589

Description

@lepus2589

Impact:

As the libraries in runtime manually set the RPATH/RUNPATH to $ORIGIN/@loader_path for the build tree artifacts and then continue to use the build tree artifacts for further building and packaging (wheel), this is probably nitpicky and won't have any impact. I don't know about the libraries from the LLVM project and others, though.

As long as all RPATHs are relative to the executable and all binaries are properly assembled in the final wheel, everything should work (as it already does ATM).

Description:

As described in #2451, artifacts in runtime/build/lib are already a mixture of build tree and install tree artifacts. Skimming the mlir Makefile shows no install steps for the other dependencies, so I guess, build tree artifacts are being used here, too.

CMake best practice would probably be, to install (with CMake) all libraries into a common <prefix>/lib (not copying them together with the Makefile) and using that, when building the wheel. But implementing this change would require careful review and testing of all RPATHs.

I don't know, if it's worth it, implementing this, ATM. I'm just leaving this here for future reference, in case something related breaks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CI/BuildPull requests that update CI or build scriptsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions