-
Notifications
You must be signed in to change notification settings - Fork 8
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
bad linkage of fmt #61
Comments
Hi, this looks like an issue with linking the fmt dependency of slang (something to fix in the Makefile). I will have a second look at it later. The plugin should work with Yosys v0.44 and later. |
What OS/distribution are you running, and do you have libfmt installed? I will see about replicating it. |
Ubuntu 22.04 and I installed libfmt version 8.1.1+ds1-2 (using apt) |
What does your cmake log say? I think I am wrong on instructing people to install libfmt because for proper linkage the libfmt in use should be vendored by slang, I try to force that with |
|
I was wondering about the output from cmake configuring the embedded slang build, you can see that if you run As a workaround of the issue I suggest uninstalling libfmt, then fully rebuilding the plugin (having erased the content of build/ beforehand). That may help. |
For me the output of
|
cmake -S .//third_party/slang -B build/slang |
You are right that uninstalling fmt works for |
Thanks for the report! I will keep the ticket around since this shoul've worked with fmt installed. To double-check: the cmake log you posted is before or after you uninstalled fmt? |
The cmake log is before I uninstalled |
So according to
it did configure for using vendored fmt. I guess the linking step for the plugin must have found the system fmt anyway. |
No, that log is BEFORE I uninstalled - that is why we see fmt still |
Yes, it's before you uninstalled, but when the log says "Using remote fmt library" it means it's rolling its own, not using the system version of the library. |
The log now, after you uninstalled, will also say "Using remote fmt library" |
Ah, sorry, I thought you had misunderstood. Just let me know if you need more info. |
Same here, seeing (likely) this issue when building https://github.com/iic-jku/IIC-OSIC-TOOLS |
So far I haven't been able to reproduce this: I spun up a Ubuntu 22.04 container; installed libfmt8 and libfmt-dev; build yosys and yosys-slang, but didn't see the symbol lookup error on This was on aarch64, I will try on x86_64 next. |
I just checked, we are not installing |
It shouldn't be. So in your case these libraries are not available at runtime, are they also not available at build time? |
Whatever is in the base layer will be available during runtime. Whatever happens during build time (e.g., additional packages installed) will not be part of the final image, as we only selectively copy the stuff we want into the target. So if during install of |
Not sure if this helps or is interesting, but there is no using of fmt in the binaries.
|
I compiled Question: It pulls Further note, I am using
|
Good to have some time to kill at the airport, so I did further debug: when I compile yosys 0.45 and 0.46 and then slang-yosys, it works. However, when I build yosys with switch @povik Could you please try to replicate the above if it leads to a fail? |
Is it possible
I take it you are referring to the
I will test build against a pyosys-enabled Yosys v0.46. When you say the compile hangs, what does that look like exactly? |
A prompt pops up with |
I don't think so... I carefully looked through the build logs, it really seems to link its own freshly built |
Let me just note the libfmt linked should be a .a archive |
Yes, it is. Please also note the warning:
|
That's interesting, I don't get that one. |
I see the same, let me investigate |
It looks like this happens if you do |
Ok, so I tested the build with the only change being that I removed the |
If you do |
I have reproduced the original issue from this ticket and locally it's fixed by 6743611 (now in master) |
I can confirm the issue is fixed! I just tested a new image build on |
Hi, I was trying to build yosys-slang against yosys version 0.46 and ran into this:
Could you please confirm which version of yosys runs with yosys-slang ?
The text was updated successfully, but these errors were encountered: