When importing modules that were precompiled the code that is being imported can diverge from what it was when it was compiled. For example, if the code was compiled with -version=Foo but imported without that version, then this can result in any number of problems that can be very difficult to triage. The solution is to have precompiled libraries provide the information needed in order to import it properly. In the example give, you need to know it was compiled with the Foo version enabled.
There's a couple ways this could be done. We could deploy libraries with another file that describes how they were compiled, i.e. versions, their source, etc. We could also embed this information inside the library. All popular library formats provide ways to embed information like this (OMF/COFF/ELF).
When importing modules that were precompiled the code that is being imported can diverge from what it was when it was compiled. For example, if the code was compiled with
-version=Foobut imported without that version, then this can result in any number of problems that can be very difficult to triage. The solution is to have precompiled libraries provide the information needed in order to import it properly. In the example give, you need to know it was compiled with theFooversion enabled.There's a couple ways this could be done. We could deploy libraries with another file that describes how they were compiled, i.e. versions, their source, etc. We could also embed this information inside the library. All popular library formats provide ways to embed information like this (OMF/COFF/ELF).