-
Notifications
You must be signed in to change notification settings - Fork 64
Description
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.