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

Reply via email to