-
Notifications
You must be signed in to change notification settings - Fork 342
[arcillator] Arcillator Can't be built Fully Static #8430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I'm wondering how we should deal with these dynamic objects that are loaded by the JIT environment. I think these have to be dynamic to be loadable. Ideally we'd be able to statically link what they need into them, to make them self-contained… but this error looks like that's not possible 🤔 @maerhart @dtzSiFive do you have any idea how we could deal with |
Yeah, this has to be always dynamically linked. Looks like some dependency is set up incorrectly. Don't we have to remove If that doesn't work maybe we also need something like MLIR's |
I'm wondering why this is even built as a dynamic object. I would assume that Arcilator itself would already be linked against the necessary support stuff that the JITed code might want to call, so that could also be a static link (I think). And if someone uses Arcilator to produce a simulation model they can always link against the |
One of the reasons I decided not to link the runtime library statically against the arcilator executable was to avoid problems regarding the visibility of symbols. The behavior here differs between platforms and possibly linkers, and if the executable does not export the symbols of the runtime lib, the JIT runner won't find them. So a dynamic lib seemed like the safer option to me. The arcilator tool calls the initialization routine of the runtime library (https://github.com/llvm/circt/blob/main/tools/arcilator/arcilator.cpp#L449), so there is a link-time dependency between them. I don't have access to all my systems right now, but I'll check if I can fix this in the coming days. Given that the only thing that uses the runtime library at the moment is its own test, feel free to just kick it out if it is an urgent problem. |
I ran into this when trying to build a fully static firtool while also running tests. The problem that I hit was that arcillator wants to statically link a .so:
Full build log:
https://github.com/llvm/circt/actions/runs/14545811276/job/40811100200#step:9:4754
The text was updated successfully, but these errors were encountered: