riscv-software-src / riscof

BSD 3-Clause "New" or "Revised" License
63 stars 40 forks source link

Quickstart (Chapter 3.8): riscof run ... makes an error #117

Closed julienissuts closed 2 months ago

julienissuts commented 2 months ago

Hello, I followed the whole Quickstart guide you wrote on: https://riscof.readthedocs.io/en/stable/installation.html#create-neccesary-env-files

And i ran into some issues. One issue I couldn't resolve until now was that if I run the tests with : riscof run --config=config.ini --suite=riscv-arch-test/riscv-test-suite/ --env=riscv-arch-test/riscv-test-suite/env

I get at an error after the test misalign2-jalr-01.S. Until there every test passed but I think it fails at test I-LB-01.S

Following is outputted on my console:

...
    INFO | /home/JStuessi/Documents/riscof_workspace/firsttest/riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/misalign-sw-01.S : bb74a4aefaa8c89fb28b876484cfdf9ca020cec1 : Passed
    INFO | /home/JStuessi/Documents/riscof_workspace/firsttest/riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/misalign2-jalr-01.S : bb74a4aefaa8c89fb28b876484cfdf9ca020cec1 : Passed
Traceback (most recent call last):
  File "/home/JStuessi/.pyenv/versions/3.6.0/bin/riscof", line 8, in <module>
    sys.exit(cli())
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/riscof/cli.py", line 335, in run
    template = Template(report_template.read())
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/environment.py", line 1195, in __new__
    return env.from_string(source, template_class=cls)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/environment.py", line 1092, in from_string
    return cls.from_code(self, self.compile(source), gs, None)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/environment.py", line 749, in compile
    source = self._parse(source, name, filename)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/environment.py", line 606, in _parse
    return Parser(self, source, name, filename).parse()
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 1038, in parse
    result = nodes.Template(self.subparse(), lineno=1)
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 1012, in subparse
    add_data(self.parse_tuple(with_condexpr=True))
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 725, in parse_tuple
    args.append(parse())
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 523, in parse_expression
    return self.parse_condexpr()
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 528, in parse_condexpr
    expr1 = self.parse_or()
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 543, in parse_or
    left = self.parse_and()
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 552, in parse_and
    left = self.parse_not()
  File "/home/JStuessi/.pyenv/versions/3.6.0/lib/python3.6/site-packages/jinja2/parser.py", line 560, in parse_not
    if self.stream.current.test("name:not"):
AttributeError: 'Token' object has no attribute 'test'

I don't understand the error, do you know what could be the reason for this issue?

Best regards Julien

julienissuts commented 2 months ago

Downgrade Jinja2 After several hours trying out to install RISCOF on other Python versions and searching for the error, I found this Post on stackoverflow: [https://stackoverflow.com/questions/67659135/flask-token-object-has-no-attribute-test-render-template-error]()

They said you need to downgrade Jinja2 because it has some issues with python3.6. Therefore you need to uninstall Jinja2 with pip uninstall Jinja2 and reinstall a earlier version like: pip install Jinja2==2.11.3

Best regards Julien