That sounds like a great middle ground. We could *probably* drop support for 18.04 in v22.0, but we should have a broader discussion and make sure that's our intention. It's probably not great to drop support for an OS to get the nightly tests to pass :).
Cheers, Jason On Tue, Apr 5, 2022 at 3:43 PM Gabe Black <gabe.bl...@gmail.com> wrote: > Well, in that case, we could detect version 3.0.1 (there is a function to > get the version I believe) and do the monkey patch they suggest in the > email. The fix was just adding that little function they show, which did > not exist at all in version 3.0.1. I would have to look up exactly how you > monkey patch things in python, but I think that's all that should be > necessary. When we drop support for 3.0.1, then we can drop our hack fix > also. > > Gabe > > On Tue, Apr 5, 2022 at 3:12 PM Bobby Bruce <bbr...@ucdavis.edu> wrote: > >> I think we need to have a little discussion on this. The problem with >> increasing the scons version is we support Ubuntu 18.04 (Official >> end-of-support not until April 2023) which if you run `apt install scons` >> will give you v3.0.1. So, increasing this the scons version requirements >> will hurt these users. >> >> I think our solutions here are either: >> >> 1) Drop support for Ubuntu 18.04 in the next release. >> 2) Have a work-around available for Ubuntu 18.04 users. >> 3) Maintain v3.01 as the minimum scons dependency and work around that. >> >> Unfortunately, none of these are very appealing. >> >> In the interests of not having the compiler tests fail for another night, >> can we revert this commit until we figure out exactly what we want to do? >> >> -- >> Dr. Bobby R. Bruce >> Room 3050, >> Kemper Hall, UC Davis >> Davis, >> CA, 95616 >> >> web: https://www.bobbybruce.net >> >> >> On Tue, Apr 5, 2022 at 1:34 PM Gabe Black <gabe.bl...@gmail.com> wrote: >> >>> The bug in SCons was fixed in version 3.0.2. I have a CL which updates >>> the required version here: >>> >>> https://gem5-review.googlesource.com/c/public/gem5/+/58629 >>> >>> I'm assuming some docker configuration something will need to be updated >>> to use SCons version 3.0.2 instead of the 3.0.1 it seems to be using. >>> >>> Gabe >>> >>> On Tue, Apr 5, 2022 at 4:13 PM Gabe Black <gabe.bl...@gmail.com> wrote: >>> >>>> I think this is actually a bug in SCons. This docker image seems to be >>>> using the minimum version of it we support, which I think is where the >>>> problem is coming from and not the compiler versions. There is a >>>> "fix"/workaround in this email thread which I haven't tried yet, and which >>>> is a bit of a hack. >>>> >>>> https://pairlist2.pair.net/pipermail/scons-dev/2018-October/004766.html >>>> >>>> I'm not sure when this bug would have been fixed, or what the best way >>>> to check if we need to monkey patch around it. If we can find the version >>>> of SCons where it was fixed and it's not that much more recent, bumping up >>>> past it may be the easiest. >>>> >>>> I think the reason this becomes visible with the change above is that >>>> more SCons code is run unconditionally, and so the fast model code is now >>>> being run in the test environment where it is disabled and just skipped >>>> wholesale before. >>>> >>>> Gabe >>>> >>>> On Tue, Apr 5, 2022 at 3:06 AM Gabe Black <gabe.bl...@gmail.com> wrote: >>>> >>>>> Yes, I'll take a look. >>>>> >>>>> Gabe >>>>> >>>>> On Mon, Apr 4, 2022 at 3:02 PM Bobby Bruce <bbr...@ucdavis.edu> wrote: >>>>> >>>>>> I don't fully understand the issue, but after doing a bisect, the >>>>>> commit causing these issues is >>>>>> https://gem5-review.googlesource.com/c/public/gem5/+/58356. >>>>>> >>>>>> To reproduce locally: >>>>>> >>>>>> ``` >>>>>> docker run -u $UID:$GID --rm -v $(pwd):$(pwd) -w $(pwd) >>>>>> gcr.io/gem5-test/clang-version-9 python3 /usr/bin/scons >>>>>> build/NULL/gem5.opt -j`nproc` >>>>>> ``` >>>>>> >>>>>> which will return: >>>>>> >>>>>> ``` >>>>>> scons: *** [build/RISCV/gem5.opt] TypeError `unhashable type: >>>>>> 'Literal'' trying to evaluate `${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, >>>>>> __env__)}' >>>>>> ``` >>>>>> >>>>>> >>>>>> This only appears to affect older versions of clang and gcc, though >>>>>> we still support these so this needs to be fixed. >>>>>> >>>>>> >>>>>> Reverting the offending commit, `git revert >>>>>> 3b6ea3dfa9055fcd7fb83738b11d00ac00f813ce`, does appear to fix this >>>>>> problem >>>>>> on the develop branch. >>>>>> >>>>>> >>>>>> @Gabe: Can you have a look into this and see if there's any better >>>>>> fix than just reverting this change? >>>>>> >>>>>> -- >>>>>> Kind regards, >>>>>> Bobby >>>>>> -- >>>>>> Dr. Bobby R. Bruce >>>>>> Room 3050, >>>>>> Kemper Hall, UC Davis >>>>>> Davis, >>>>>> CA, 95616 >>>>>> >>>>>> web: https://www.bobbybruce.net >>>>>> >>>>>> >>>>>> On Fri, Apr 1, 2022 at 8:12 AM Jason Lowe-Power via gem5-dev < >>>>>> gem5-dev@gem5.org> wrote: >>>>>> > >>>>>> > Interesting errors. See >>>>>> https://jenkins.gem5.org/job/compiler-checks/189/artifact/compile-test-out/clang-version-9/ >>>>>> for more info. I think this is a scons error, as it looks like python. >>>>>> > >>>>>> > scons: *** [build/RISCV/gem5.opt] TypeError `unhashable type: >>>>>> 'Literal'' trying to evaluate `${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, >>>>>> __env__)}' >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > On Fri, Apr 1, 2022 at 5:21 AM jenkins-no-reply--- via gem5-dev < >>>>>> gem5-dev@gem5.org> wrote: >>>>>> >> >>>>>> >> See < >>>>>> https://jenkins.gem5.org/job/compiler-checks/189/display/redirect?page=changes >>>>>> > >>>>>> >> >>>>>> >> Changes: >>>>>> >> >>>>>> >> [gabe.black] scons: Remove an error check from the ProtoBuf >>>>>> declare-er. >>>>>> >> >>>>>> >> [yenlinlai] scons: Allow sources and libs called multiple times >>>>>> >> >>>>>> >> [gabe.black] scons: Add a priority field to the SourceLib >>>>>> construct. >>>>>> >> >>>>>> >> [gabe.black] scons: Get rid of an unused fast model variable. >>>>>> >> >>>>>> >> [gabe.black] scons: Tone down a fast model error into a warning. >>>>>> >> >>>>>> >> [gabe.black] scons: Stop the fast model project file parser from >>>>>> writing files. >>>>>> >> >>>>>> >> [gabe.black] scons: Rework the fastmodel extract_var helper. >>>>>> >> >>>>>> >> [gabe.black] scons: Only warn about not finding fast model libs if >>>>>> it's enabled. >>>>>> >> >>>>>> >> [gabe.black] scons: Add a tag for arm fastmodel and use it. >>>>>> >> >>>>>> >> >>>>>> >> ------------------------------------------ >>>>>> >> Started by timer >>>>>> >> Running as SYSTEM >>>>>> >> Building in workspace < >>>>>> https://jenkins.gem5.org/job/compiler-checks/ws/> >>>>>> >> The recommended git tool is: NONE >>>>>> >> No credentials specified >>>>>> >> > git rev-parse --resolve-git-dir < >>>>>> https://jenkins.gem5.org/job/compiler-checks/ws/.git> # timeout=10 >>>>>> >> Fetching changes from the remote Git repository >>>>>> >> > git config remote.origin.url >>>>>> https://gem5.googlesource.com/public/gem5 # timeout=10 >>>>>> >> Fetching upstream changes from >>>>>> https://gem5.googlesource.com/public/gem5 >>>>>> >> > git --version # timeout=10 >>>>>> >> > git --version # 'git version 2.25.1' >>>>>> >> > git fetch --tags --force --progress -- >>>>>> https://gem5.googlesource.com/public/gem5 >>>>>> +refs/heads/*:refs/remotes/origin/* # timeout=10 >>>>>> >> > git rev-parse refs/remotes/origin/develop^{commit} # timeout=10 >>>>>> >> Checking out Revision 3b6ea3dfa9055fcd7fb83738b11d00ac00f813ce >>>>>> (refs/remotes/origin/develop) >>>>>> >> > git config core.sparsecheckout # timeout=10 >>>>>> >> > git checkout -f 3b6ea3dfa9055fcd7fb83738b11d00ac00f813ce # >>>>>> timeout=10 >>>>>> >> Commit message: "scons: Add a tag for arm fastmodel and use it." >>>>>> >> > git rev-list --no-walk 118b069d5d238c68afbe29d11878137746b3c375 >>>>>> # timeout=10 >>>>>> >> [Checks API] No suitable checks publisher found. >>>>>> >> [compiler-checks] $ /bin/sh -xe /tmp/jenkins10877671131247552434.sh >>>>>> >> + ./tests/compiler-tests.sh -j 16 >>>>>> >> Starting build tests with 'gcc-version-11'... >>>>>> >> 'gcc-version-11' was found in the comprehensive tests. All ISAs >>>>>> will be built. >>>>>> >> * Building target 'X86_MI_example.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MI_example.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MOESI_hammer.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MOESI_hammer.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'POWER.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'POWER.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'RISCV.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'RISCV.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'Garnet_standalone.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'Garnet_standalone.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MESI_Two_Level.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MESI_Two_Level.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MOESI_AMD_Base.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MOESI_AMD_Base.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_token.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_token.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'SPARC.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'SPARC.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_hammer.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_hammer.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'X86.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'X86.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'MIPS.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'MIPS.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level_HTM.opt' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level_HTM.fast' with >>>>>> 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'GCN3_X86.opt' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'GCN3_X86.fast' with 'gcc-version-11'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'gcc-version-10'... >>>>>> >> * Building target 'POWER.opt' with 'gcc-version-10'... >>>>>> >> Done. >>>>>> >> * Building target 'POWER.fast' with 'gcc-version-10'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'gcc-version-9'... >>>>>> >> * Building target 'NULL.opt' with 'gcc-version-9'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL.fast' with 'gcc-version-9'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'gcc-version-8'... >>>>>> >> * Building target 'SPARC.opt' with 'gcc-version-8'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'SPARC.fast' with 'gcc-version-8'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'gcc-version-7'... >>>>>> >> * Building target 'GCN3_X86.opt' with 'gcc-version-7'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'GCN3_X86.fast' with 'gcc-version-7'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'clang-version-12'... >>>>>> >> 'clang-version-12' was found in the comprehensive tests. All ISAs >>>>>> will be built. >>>>>> >> * Building target 'NULL_MESI_Two_Level.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MESI_Two_Level.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level_HTM.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level_HTM.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'GCN3_X86.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'GCN3_X86.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'POWER.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'POWER.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_hammer.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_hammer.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'RISCV.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'RISCV.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MOESI_hammer.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MOESI_hammer.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MI_example.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MI_example.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'ARM_MESI_Three_Level.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'SPARC.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'SPARC.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'Garnet_standalone.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'Garnet_standalone.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'MIPS.opt' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'MIPS.fast' with 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MOESI_AMD_Base.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'X86_MOESI_AMD_Base.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_token.opt' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_token.fast' with >>>>>> 'clang-version-12'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'clang-version-11'... >>>>>> >> * Building target 'Garnet_standalone.opt' with >>>>>> 'clang-version-11'... >>>>>> >> Done. >>>>>> >> * Building target 'Garnet_standalone.fast' with >>>>>> 'clang-version-11'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'clang-version-10'... >>>>>> >> * Building target 'NULL_MESI_Two_Level.opt' with >>>>>> 'clang-version-10'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MESI_Two_Level.fast' with >>>>>> 'clang-version-10'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'clang-version-9'... >>>>>> >> * Building target 'RISCV.opt' with 'clang-version-9'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'RISCV.fast' with 'clang-version-9'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'clang-version-8'... >>>>>> >> * Building target 'RISCV.opt' with 'clang-version-8'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'RISCV.fast' with 'clang-version-8'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'clang-version-7'... >>>>>> >> * Building target 'X86_MI_example.opt' with 'clang-version-7'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'X86_MI_example.fast' with 'clang-version-7'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'clang-version-6.0'... >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.opt' with >>>>>> 'clang-version-6.0'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.fast' with >>>>>> 'clang-version-6.0'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'ubuntu-18.04_all-dependencies'... >>>>>> >> * Building target 'X86_MI_example.opt' with >>>>>> 'ubuntu-18.04_all-dependencies'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> * Building target 'X86_MI_example.fast' with >>>>>> 'ubuntu-18.04_all-dependencies'... >>>>>> >> ! Failed with exit code 2. >>>>>> >> Starting build tests with 'ubuntu-20.04_all-dependencies'... >>>>>> >> * Building target 'NULL_MOESI_hammer.opt' with >>>>>> 'ubuntu-20.04_all-dependencies'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_hammer.fast' with >>>>>> 'ubuntu-20.04_all-dependencies'... >>>>>> >> Done. >>>>>> >> Starting build tests with 'ubuntu-20.04_min-dependencies'... >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.opt' with >>>>>> 'ubuntu-20.04_min-dependencies'... >>>>>> >> Done. >>>>>> >> * Building target 'NULL_MOESI_CMP_directory.fast' with >>>>>> 'ubuntu-20.04_min-dependencies'... >>>>>> >> Done. >>>>>> >> Build step 'Execute shell' marked build as failure >>>>>> >> Archiving artifacts >>>>>> >> _______________________________________________ >>>>>> >> gem5-dev mailing list -- gem5-dev@gem5.org >>>>>> >> To unsubscribe send an email to gem5-dev-le...@gem5.org >>>>>> >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >>>>>> > >>>>>> > _______________________________________________ >>>>>> > gem5-dev mailing list -- gem5-dev@gem5.org >>>>>> > To unsubscribe send an email to gem5-dev-le...@gem5.org >>>>>> > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >>>>>> >>>>>
_______________________________________________ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s