-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Description
In #41936 we added the ability to run Julia without codegen linked in to the process, to make it easier to separate codegen from the rest of the runtime, for use in situations where we actually don't want the ability to generate new code. Unfortunately, our loader mechanism can currently get confused between the case where libjulia-codegen
is missing (and therefore should not be linked in), and the case where libjulia-codegen
fails to load due to some error. We need to disambiguate these two cases, and only optimistically continue execution if libjulia-codegen
is actually missing from the lib/julia
folder.
The current behavior is that cli/loader_lib.c
attempts to load libjulia-codegen
, and if it fails, it always tries to continue in codegen-less mode (which apparently doesn't work that well on 1.8.X).
I suggest we try to access()
our libjulia-codegen path before trying to dlopen()
it, and only enter codegen-less mode if access()
fails. Otherwise, dlopen()
errors should be fatal just like for libjulia-internal
.