Closed lucasasselli closed 7 years ago
Does it give some more output when you run it with `--verbose``?
Unfortunately it doesn't, the simulation doesn't even run. The script tries to link $BUILDROOT/src/de0_nano to $BUILDROOT/src/de0_nano_0, however the latter exist while the former doesn't.
This is strange. Looking at the script, it should only create the symlink if the source directory exists, so I don't understand why it fails. Disabling the script is fine as a workaround however, since the script is only used for backwards-compatibility with old versions of FuseSoC
An interesting thing is that if I use an older version of fusesoc (the one provided with operisc/tutorials) everything works fine.
I just made some changes two days ago that could explain why FuseSoC aborts when the script fails. I still can't understand however why the script fails. Are you using FuseSoC 1.6.1 or the latest version from git?
I'm using the latest version from git. If I run the script alone it works fine as expected.
It seems like the exception "subprocess.CalledProcessError" in fusesoc/fusesoc/utils.py is raised even if everything it's working fine.
With the latest git version, utils.py is not used for running scripts anymore. Instead, that is handled by the _run_scripts function in edatool.py. I think that code is correct though. It should only raise an exception when the script exits with a non-zero exit code.
Can you show me the terminal output when the script fails. Still trying to figure out what is going on here. It's especially strange as you say that the script works fine when it's run stand-alone
Here's the terminal output:
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::fifo:1.0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::vlog_tb_utils:0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::wb_sdram_ctrl:0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::ram_wb:0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::stream_utils:1.0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::elf-loader:0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::wb_altera_ddr_wrapper:0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::wb_intercon:1.0
WARN: plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ::wb_intercon:0
INFO: Preparing ::adv_debug_sys:0
INFO: Preparing ::altera_virtual_jtag:0
INFO: Preparing ::elf-loader:0
INFO: Preparing ::gpio:0
INFO: Preparing ::i2c:1.13
INFO: Preparing ::jtag_tap:1.13
INFO: Preparing ::jtag_vpi:0-r2
INFO: Preparing ::mor1kx:3.1
INFO: Preparing ::or1k_bootloaders:0.9
INFO: Preparing ::s25fl064p:1.7
INFO: Preparing ::simple_spi:1.6
INFO: Preparing ::uart16550:1.5.4
INFO: Preparing ::verilog-arbiter:0-r1
INFO: Preparing ::verilog_utils:0
INFO: Preparing ::vlog_tb_utils:1.0
INFO: Preparing ::wb_common:0
INFO: Preparing ::wiredelay:0
INFO: Preparing ::mt48lc16m16a2:0
INFO: Preparing ::wb_bfm:1.0
INFO: Preparing ::wb_intercon:1.0
INFO: Preparing ::wb_ram:1.0
INFO: Preparing ::wb_sdram_ctrl:0-r2
INFO: Preparing ::de0_nano:0
INFO: Running /home/luca/dev/orpsoc-cores/cores/elf-loader/check_libelf.sh
INFO: Running /home/luca/dev/orpsoc-cores/systems/de0_nano/legacy_symlink.sh
/home/luca/dev/or1k-de10_lite-dev-env/de10_lite/build/de0_nano_0/src/de0_nano
/home/luca/dev/or1k-de10_lite-dev-env/de10_lite/build/de0_nano_0/src/de0_nano_0
ERROR: Failed to build simulation model
ERROR: "/home/luca/dev/orpsoc-cores/systems/de0_nano/legacy_symlink.sh" exited with an error code.
ERROR: See stderr for details.
Another interesting thing is that it works fine if I call fusesoc build de0_nano
Hurray! I found it. As usual it was a stupid silly mistake. If the legacy dir can't be found, it will exit with an error. Turns out it worked fine for me, as I had a local change that added exit 0 to the end. Sorry about that. Updating orpsoc-cores should hopefully fix your issue. Thanks again for reporting and testing
Awesome!
Feel free to close the issue if it works now
I'm unable to run any system simulation using the latest version of fusesoc.
This error can be solved by removing "legacy_simlink.sh" for the system pre_build_scripts.