-
Notifications
You must be signed in to change notification settings - Fork 65
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
iverilog is missing content from oss-cad-suite/include/iverilog/** #65
Comments
So for iverilog the files can be placed into:
Local unit test / VPI simulation of the project here is now working using VPI. So the procedure here is the one that worked for me. |
Looks like these files are deliberately removed?
|
Reason why they are removed is that you can not reliably build plugins for iverilog using these files. Note that, depending of your host OS version, it could work but also will not in most cases. Same problem is there for other software we include (yosys iteself as well) but for Yosys we provide a way how to reliably compile plugins. |
Can you cite a specific example of such differences ? It is usual to use an older linux system for linking the release distribution of binaries, many enterprises have for decades now been able to supply reliable Linux binaries that will work on a very wide range of hosts at runtime. The "manylinux" project exists as a modern day form of a collective understanding on the issues addressing this area of release management of commercial Linux products. So I am interested in the specifics about this claim and yosys oss-cad-suite. Glibc/stdc++/gcc are distributed with versioned symbols, this will setup a floor in the version allowed (the oldest GLIBC possible at runtime) but any new version will work. Maybe there is a specific concern related to EDA (such as VPI DSOs or other similar things), but please state the specific of the technical concern. Thanks |
It seems like one problem comes from Not too sure how to proceed, but I'll close the PR as clearly this won't work (in the general case). |
This is not a valid reason to not distribute the header files and DSOs. This is easily worked around by users with a docker container and is a well understood and anticipated problem. An example of a valid reason to not distribute, would be that the plugin loads and appears to work, but crashes, because of something esoteric and magical and something unknown until after maybe hours of simulation. But if the plugin fails to load unfront, due to version mismatches The user can then simply use a docker container to link their DSO with a copy old enough to also be compatible. If oss-cad-suite was able to perform the entire build on a "manylinux" base system (not Ubuntu-latest-bleedingedge) then you will observe it very difficult to find a user that experiences the problem in the first place. |
@dlmiles your observations are correct. Will take care of this and check other pakages as well. We are moving soon to docker image based on Ubuntu 22.04 (work already done on branch) so will prepare document how to build iverilog plugins as well. |
I meant to say in last paragraph (a correction provided here): So yes having oss-cad-suite itself as docker using latest version of itself and system libraries is good. So ideally 2 docker versions might exist (in a Yosys future, for each new release of Yosys):
Thanks for for update, I look forward to seeing this area addresses in future versions |
After a regular iverilog autoconfig/configure/make/make install, the following files are installed:
The files DO NOT seem present in CI here, also no files :
https://github.com/YosysHQ/oss-cad-suite-build/actions/runs/5019966822/jobs/9001318938#step:25:5
So they are not present in the output tgz file:
The tree that is present is:
The text was updated successfully, but these errors were encountered: