Skip to content
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

Explicitly document which versions of GCC / clang are supported #625

Closed
6 of 7 tasks
mithro opened this issue May 31, 2019 · 13 comments
Closed
6 of 7 tasks

Explicitly document which versions of GCC / clang are supported #625

mithro opened this issue May 31, 2019 · 13 comments

Comments

@mithro
Copy link
Contributor

mithro commented May 31, 2019

Proposed Behaviour

It would be good if the documentation explicitly said which versions of GCC and clang were supported. We can then run make sure these versions compile on the CI system.

FYI - The compilers released by Ubuntu can be found here;
https://gist.github.com/mithro/85c97dd594a8726d081c57b2b541630e

Possible Solution

I suggest the following list;

  • gcc-5 -- To support default compiler on Ubuntu Xenial (which is an LTS).
  • gcc-6 -- To support default compiler on Debian Stretch.
  • gcc-8 -- To support Debian testing + unstable and Ubuntu bionic (LTS) + cosmic.
  • gcc-9 -- To support Ubuntu disco + eoan.
  • clang-3.6 -- Earliest reasonable version of clang.
  • clang-6 -- Earliest reasonable version of clang.
  • clang-8 -- Latest released version of clang.

I don't use Redhat / Fedora, so I don't know if this covers a good range of compilers.

@mithro
Copy link
Contributor Author

mithro commented May 31, 2019

It might be worth supporting clang-6 which seems to be available in Debian testing+unstable plus Ubuntu xenial -> eoan.

@mithro
Copy link
Contributor Author

mithro commented May 31, 2019

Here is an example of running the compiles after Build / Testing is a success

@mithro
Copy link
Contributor Author

mithro commented May 31, 2019

Looks like the build bot checks the following configurations;

DEFAULT_GNU_COMPILER_VERSIONS=["8", "7", "6", "5", "4.9"]
DEFAULT_MINGW_COMPILER_VERSIONS=["5"]
DEFAULT_CLANG_COMPILER_VERSIONS=["3.8", "3.6"]

@mithro
Copy link
Contributor Author

mithro commented May 31, 2019

@kmurray -- This is a question for you and @vaughnbetz

mithro added a commit to mithro/vtr-verilog-to-routing that referenced this issue May 31, 2019
mithro added a commit to mithro/vtr-verilog-to-routing that referenced this issue May 31, 2019
@mithro
Copy link
Contributor Author

mithro commented May 31, 2019

Just FYI the current status seems to be;

@kmurray
Copy link
Contributor

kmurray commented May 31, 2019

What is in sweep_build_configs.py is what we currently test the code builds against. And we generally try to keep it warning clean for the GCC compilers.

Effectively our requirement is a C++14 compliant compiler.

However I've been contemplating dropping gcc-4.9, since:

  • Ubuntu 14.04 LTS is now EOL
  • It isn't fully C++14 compliant (there are a couple corners of the syntax which we've had to work around). For example see this build error.

I'm leaning towards making the VTR 8.0 release with gcc-4.9 tested, and then drop it from the list of tested compilers shortly afterwards.

@mithro
Copy link
Contributor Author

mithro commented Jun 2, 2019

@kmurray It might be better to drop gcc-4.9 support before VtR 8.0 release to stop people using it as an excuse to use VtR 8.0 verses upstream.

mithro added a commit to mithro/vtr-verilog-to-routing that referenced this issue Jun 4, 2019
mithro added a commit to mithro/vtr-verilog-to-routing that referenced this issue Jun 4, 2019
@mithro
Copy link
Contributor Author

mithro commented Jun 4, 2019

Update on the status! Thanks to @kmurray's fixing of #628 we are pretty close to having everything working. See https://travis-ci.org/verilog-to-routing/vtr-verilog-to-routing/builds/541097847

Just FYI the current status seems to be;

So, it only looks like clang-3.6 is broken!

@litghost
Copy link
Collaborator

litghost commented Jun 12, 2019

FYI @kmurray, I'm seeing test failures on GCC 6 and clang 7 (at 988f670):

soft_multipliers:         k6_frac_N10_4add_2chains_depop50_mem20K_22nm.xml/mult_5x5.v/common                             failed: vpr (exited with return code 2) (took 3.02 seconds)
multiclock:               k6_frac_N10_mem32K_40nm.xml/multiclock.blif/common                                             OK              (took 1.40 seconds)
soft_multipliers:         k6_frac_N10_4add_2chains_depop50_mem20K_22nm.xml/mult_8x8.v/common                             OK              (took 4.94 seconds)
soft_multipliers:         k6_frac_N10_4add_2chains_depop50_mem20K_22nm.xml/mult_6x6.v/common                             OK              (took 5.07 seconds)
no_timing:                k6_frac_N10_frac_chain_depop50_mem32K_40nm.xml/ch_intrinsics.v/common                          failed: vpr (exited with return code 139) (took 5.14 seconds)
eblif_vpr:                k6_frac_N10_40nm.xml/test_eblif.eblif/common                                                   OK              (took 1.15 seconds)
fracturable_luts:         k6_N8_I80_fleI10_fleO2_ff2_nmodes_2.xml/ch_intrinsics.v/common                                 failed: vpr (exited with return code 139) (took 5.73 seconds)

@vaughnbetz
Copy link
Contributor

Kevin can't reproduce these either; do they still occur?

acomodi pushed a commit to SymbiFlow/vtr-verilog-to-routing that referenced this issue Jul 22, 2019
kmurray pushed a commit that referenced this issue Jul 23, 2019
@mithro
Copy link
Contributor Author

mithro commented Sep 10, 2019

@acomodi Can you close out this issue (IE Check that everything is the same and then close it.)

@acomodi
Copy link
Collaborator

acomodi commented Sep 11, 2019

@mithro I have checked that all the current builds (GCC-5/6/7/8/9 and Clang-6/8) do pass the strong regression tests. I can confirm this can be closed now.
I am unable to close the issue though, probably because I wasn't the original author of the issue.

@mithro mithro closed this as completed Sep 11, 2019
@vaughnbetz
Copy link
Contributor

Thanks @acomodi!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants