Stage libDeviceContextGlobals alongside the mojo runtime libs#97
Closed
joshpeterson wants to merge 1 commit into
Closed
Stage libDeviceContextGlobals alongside the mojo runtime libs#97joshpeterson wants to merge 1 commit into
joshpeterson wants to merge 1 commit into
Conversation
libAsyncRTMojoBindings now carries a runtime NEEDED on libDeviceContextGlobals (the virtual-device state was split into its own shared library so a process holds exactly one copy of it). The mojo toolchain stages a fixed set of support libraries next to every compiled mojo binary; libDeviceContextGlobals was missing from that set, so mojo binaries failed to load with "libDeviceContextGlobals.so: cannot open shared object file" once the runtime started depending on it. Add it to the glob. The glob keeps allow_empty=False over the whole list, so older mojo packages that don't ship the library still resolve (the pattern simply matches nothing) and nothing depends on it there.
Author
|
Closing — we're taking a simpler single-repo approach in modularml/modular#90359 that hosts the virtual-device state in the existing AsyncRTRuntimeGlobals shared library instead of introducing a new one, so the mojo toolchain doesn't need to learn about a new staged support library. No rules_mojo change needed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
libAsyncRTMojoBindings now carries a runtime
NEEDEDonlibDeviceContextGlobals(the virtual-device state was split into its own shared library so a process holds exactly one copy per process). The mojo toolchain stages a fixed set of support libraries next to every compiled mojo binary, andlibDeviceContextGlobalswas missing from it, so mojo binaries fail to load withlibDeviceContextGlobals.so: cannot open shared object fileonce the runtime depends on it.Add it to the glob.
allow_empty=Falsestill holds over the whole list, so older mojo packages that don't ship the library keep resolving (the pattern just matches nothing).Needed to reland modularml/modular#88716.