well ... I spent two days on this problem, and four hours testing GHDL from v30 to v34. Our internal linux distribution is based on Gentoo's catalyst and portage, and it happens that someone in Gentoo has recently removed GHDL from the portage for *unclear* internal reasons.
Now, consider that v30 requires GNAT-v4.9, which is problematic to be built on gcc-v5 profile and consider that the last glibc makes the multi-profile pretty broken, so I spent more time in regressions on chroots and virtual machines, and at the end I have discovered that all the new GHDL versions are *ONLY* partially working: they compile vhdl, but looking at my test-benches they have some strange bad internal problem (segmentation fault without a message) with foreign-C code! It's not acceptable since is a wanted feature!
I have tried different approaches without getting any good result! Debugging GCC and ADA is ... impossible for me!
Thus I have to write in my report that "v30-v34 are all not acceptable", as well as I have to require a couple of Overlay-folders in the customer server to host GNAT-v4.3 and GHDL-v0.29, both OLD-VERSION out of the portage!
So, at the end, I had to do a partial regression of both GNAT and GHDL, rewriting the overlay as private overlay, and adapt it to suit the new environment!
It's a shitty job! Irritating if we consider that a lot of problems were related to patches that were committed 1 year ago and ... ignored (why ignored? why? EGO problem? bah ...)
and to customers asking
- "
oh, I'd like to put 5-7K euro in a IBM-Power9 Octocores machine, can *YOU* compile GNAT or somethingHDL for linux/POWER?!?" -
well ....
I will have to say them that it's pretty like a basket of pine cones!
I have tried, fixed, tried again, and I am ending with a simple answer to my customer: sorry, it's not possible, it doesn't work!
As far as GHDL as "opensource free (no money to pay) alternative", tomorrow I have to meet a couple of managers and I will have to explain them that they have to put more money in the project
in order to buy a couple of license for ModelSim as well as two i9-workstations, since it's my personal opinion that trying to sort out problems with GHDL will end in costing more money in consultancies!
edit:
and
GHDL is not fully thread safe. You need a modified version since the default source-code causes weird behaviour