Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12589 Discussions

Error: s0: Error during execution of "{C:/intelfpga/20.1/quartus/../nios2eds/Nios II Command Shell.b

SThor8
New Contributor I
15,599 Views

Hi

Windows 10 Pro
Version 2004
OS buid 19041.330

Quartus prime version 20.1 Build 711 standard edition

 

The platform designer generates the following error.

Error: s0: Error during execution of "{C:/intelfpga/20.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt": child process exited abnormally

When the platform designer tries to generate HDL code

I have tried to both switch on and off the  “Windows Subsystem for Linux” according to 
https://www.intel.com/content/altera-www/global/en_us/index/support/support-resources/knowledge-base/tools/2018/error--s0--error-during-execution-of---c--intelfpga-xx-x-quartus.html

but no luck (seems odd to switch off “Windows Subsystem for Linux” when the bat file Nios II Command Shell.bat is using wsl).

I can from a command prompt execute the bat file (“Windows Subsystem for Linux”  on)

C:\intelFPGA\20.1\nios2eds>
C:\intelFPGA\20.1\nios2eds>"Nios II Command Shell.bat"
------------------------------------------------
Altera Nios2 Command Shell

Version 20.1, Build 711
------------------------------------------------
stefan@DESKTOP-MH7IPN4:/mnt/c/intelFPGA/20.1/nios2eds$ exit
exit

C:\intelFPGA\20.1\nios2eds>
 

But the platform designer can not execute it, any ideas ?

 

Regards

 

 

Info: p0: "ddr3" instantiated altera_mem_if_ddr3_phy_core "p0"
Info: m0: "ddr3" instantiated altera_mem_if_ddr3_afi_mux "m0"
Error: s0: Error during execution of "{C:/intelfpga/20.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt": child process exited abnormally
Error: s0: Execution of command "{C:/intelfpga/20.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt" failed
Error: s0: /mnt/c/intelfpga/20.1/quartus/bin64/uniphy_mcc.exe -ac_code sequencer_mc/ac_rom.s -inst_code sequencer_mc/inst_rom.s -ac_rom ../system_ddr3_s0_AC_ROM.hex -inst_rom ../system_ddr3_s0_inst_ROM.hex -header sequencer/sequencer_auto.h -vheader ../sequencer_auto_h.sv -ac_rom_init sequencer/sequencer_auto_ac_init.c -inst_rom_init sequencer/sequencer_auto_inst_init.c -DAC_ROM_USER_ADD_0=0_0000_0000_0000 -DAC_ROM_USER_ADD_1=0_0000_0000_1000 -DAC_ROM_MR0=0001000110001 -DAC_ROM_MR0_CALIB= -DAC_ROM_MR0_DLL_RESET=0001100110000 -DAC_ROM_MR1=0000001000100 -DAC_ROM_MR1_OCD_ENABLE= -DAC_ROM_MR2=0000000001000 -DAC_ROM_MR3=0000000000000 -DAC_ROM_MR0_MIRR=0001001001001 -DAC_ROM_MR0_DLL_RESET_MIRR=0001011001000 -DAC_ROM_MR1_MIRR=0000000100100 -DAC_ROM_MR2_MIRR=0000000010000 -DAC_ROM_MR3_MIRR=0000000000000 -DQUARTER_RATE=0 -DHALF_RATE=1 -DFULL_RATE=0 -DNON_DES_CAL=0 -DAP_MODE=0 -DGUARANTEED_READ_BRINGUP_TEST=0 -DMEM_ADDR_WIDTH=13 -DHARD_PHY=0
Error: s0: UniPHY Sequencer Microcode Compiler
Error: s0: Copyright (C) 2020  Intel Corporation. All rights reserved.
Error: s0: Info: Reading sequencer_mc/ac_rom.s ...
Error: s0: Info: Reading sequencer_mc/inst_rom.s ...

 

 

Is it possible to get the content from the stderr.txt files ?

 

47 Replies
SThor8
New Contributor I
6,157 Views

Hi

My colleague is on vacation and cannot be reached for another 3 weeks.

My version is
Windows specification
Edition: Windows Pro
Version: 2004
Installed on: 200-07-13
OS build : 19041.330
Expereince: Widnows Feature Experience Pack 120.220230.0

 

Note: beside that

$ uname -r
4.19.104-microsoft-standard

 

Microsoft in /proc/version is also spelled small

$ cat /proc/version
Linux version 4.19.104-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Wed Feb 19 06:37:35 UTC 2020

 

The test for Microsoft spelled with m uppercase is also used on various places

 

0 Kudos
dncmrc
New Contributor I
4,570 Views

But I am still left with the second issue:

nios2-elf-gcc.exe: error: CreateProcess: No such file or directory

I have seen there is a patch for 19.1 but we are using Version 19.4.0 Build 64 12/04/2019 SC Pro Edition.

Kenny, could you please get me a patch for 19.4?

Thanks!

 

0 Kudos
Kenny_Tan
Moderator
4,753 Views

Hi,


We manage to narrow down the issue,


For now, the workaround below should work, I had tested out from my side.

- downloaded latest Ubuntu 18.04 from Microsoft Shop & installed it

- executed following on Ubuntu shell :- 

- executed following on Ubuntu shell :   

   sudo apt-get update

   sudo apt install wsl 

  sudo apt install dos2unix

  sudo apt install make 

  sudo apt-get upgrade 


Before you use this workaround, you need to check uname -r is if return 

4.4.0-17763-Microsoft? 


If it return something like 4.19.104-microsoft-standard. The workaround above will not work. The "M" need to be capital letter.


This one usually, is because you might have switch to WSL2. We are currently investigating this and I had let developer know to fix it.


It should accept both capital and small letter.


Thanks,

Best regards,

Kenny



0 Kudos
Kenny_Tan
Moderator
4,718 Views

WSL2 is yet supported according the developer. Can make sure that you have switch it back to WSL? Thanks


0 Kudos
Kenny_Tan
Moderator
4,705 Views

any update?


0 Kudos
FilipMiler
Beginner
4,690 Views

Hi. I have the same issue when generating "LPDDR2 controller with UniPHY" under Windows build 2004.

The error message apparently starts with "Makefile:543: recipe for target 'obj/HAL/src/alt_dcache_flush_all.o' failed"

It doesn't depend on Quartus version (I tried 19.1 Lite with patch 0.02 and 20.1 Lite), but it does depend on the Windows version, with build 1909 it works fine in both Quartus versions.

uname -r returns "4.4.0-19041-Microsoft" in my case, I'm using Ubuntu 18.04 LTS on WSL 1.

 

0 Kudos
Kenny_Tan
Moderator
4,685 Views

Can you post the full error message? Looking into the short message, it does not seems to be relevant to this thread.


0 Kudos
FilipMiler
Beginner
4,674 Views

The generator unfortunately doesn't output the log into file and it can't be copied en-block from the message window.

But the list of error messages starts with

"Error: Error during execution of "{C:/intelfpga_lite/20.1/quartus//../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt": child process exited abnormally"

and ends with

"<html>Error: An error occurred<br> while executing<br>"error "An error occurred""<br> (procedure "_error" line 8)<br> invoked from within<br>"_error "Cannot find $seq_file""<br> ("if" then script line 2)<br> invoked from within<br>"if {[file exists $seq_file] == 0} {<br> _error "Cannot find $seq_file"<br> }"<br> (procedure "alt_mem_if::util::seq_mem_size::get_max_memory_usage" line 14)<br> invoked from within<br>"alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf""<br> invoked from within<br>"set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf"]]"<br> ("if" then script line 2)<br> invoked from within<br>"if { !$do_only_rw_mgr_mc && !($bfm_mode || $hps_mode)} {<br> set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequenc..."<br> (procedure "generate_qsys_sequencer_sw" line 943)<br> invoked from within<br>"generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0 $nios_hex_file_name $ac_rom_init_file_name ..."<br> invoked from within<br>"set seq_mem_size_list [generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0 $nios_hex_file_name ..."<br> ("if" else script line 2)<br> invoked from within<br>"if {[::alt_mem_if::util::qini::qini_value alt_mem_if_seq_size_request 0] > 0} {<br> set seq_mem_size [::alt_mem_if::util::qini::qini_value alt_mem_if_se..."<br> (procedure "alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer" line 238)<br> invoked from within<br>"alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}"<br> invoked from within<br>"set qsys_sequencer_files_list [alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}]"<br> (procedure "alt_mem_if::gen::uniphy_gen::generate_sequencer_files" line 3)<br> invoked from within<br>"alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "LPDDR2" $tmpdir QUARTUS_SYNTH"<br> invoked from within<br>"foreach generated_file [alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "LPDDR2" $tmpdir QUARTUS_SYNTH] {<br> set file_name [file tail $gene..."<br> (procedure "generate_synth" line 8)<br> invoked from within<br>"generate_synth SDRAMController_s0""

The first apparently relevant message in the list is

"Error: Makefile:539: recipe for target 'obj/HAL/src/alt_dcache_flush_all.o' failed"

The "LPDDR2 Controller with UniPHY" uses Nios II for I/O calibration, so it's basicaly the same case as in the first post.

0 Kudos
Kenny_Tan
Moderator
4,671 Views

have you done the steps below?


1) uninstall Ubuntu* 18.04 (if you have one)

2) uninstall wsl  

3) re-install wsl

4) download latest Ubuntu 18.04 from Microsoft Shop & install it

5) execute following on Ubuntu shell :  

   sudo apt-get update

   sudo apt install wsl 

   sudo apt install dos2unix

   sudo apt install make 

   sudo apt-get upgrade 

 


0 Kudos
FilipMiler
Beginner
4,666 Views

Yes, there is clean installation of WSL 1 (without update), Ubuntu 18.04 LTS and the linux packages (upgraded).

I'm suspecting some issue with nios2-elf-gcc.exe which is used for compiling the alt_dchache_flush_all.c

0 Kudos
Kenny_Tan
Moderator
4,658 Views

When you mention without update, did you work on the below?

 sudo apt-get update

   sudo apt install wsl 

   sudo apt install dos2unix

   sudo apt install make 

   sudo apt-get upgrade 


This is an important steps to follow.


0 Kudos
Kaka_lq
Beginner
3,608 Views

Hello,

I met the same problem, 

uname -r return 4.4.0-19041-Microsoft.

I followed: 

1) uninstall Ubuntu* 18.04 (if you have one)

2) uninstall wsl  

3) re-install wsl

4) download latest Ubuntu 18.04 from Microsoft Shop & install it

5) execute following on Ubuntu shell :  

   sudo apt-get update

   sudo apt install wsl 

   sudo apt install dos2unix

   sudo apt install make 

   sudo apt-get upgrade 

 

But not helpful. 

The error still exist.

Error: s0: Error during execution of "{C:/intelfpga_lite/20.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt": child process exited abnormally
Error: s0: Execution of command "{C:/intelfpga_lite/20.1/quartus/../nios2eds/Nios II Command Shell.bat} make all 2>> stderr.txt" failed
Error: s0: /mnt/c/intelfpga_lite/20.1/quartus/bin64/uniphy_mcc.exe -ac_code sequencer_mc/ac_rom.s -inst_code sequencer_mc/inst_rom.s -ac_rom ../q_sys_mem_if_ddr3_emif_0_s0_AC_ROM.hex -inst_rom ../q_sys_mem_if_ddr3_emif_0_s0_inst_ROM.hex -header sequencer/sequencer_auto.h -vheader ../sequencer_auto_h.sv -ac_rom_init sequencer/sequencer_auto_ac_init.c -inst_rom_init sequencer/sequencer_auto_inst_init.c -DAC_ROM_USER_ADD_0=0_0000_0000_0000 -DAC_ROM_USER_ADD_1=0_0000_0000_1000 -DAC_ROM_MR0=0001000010001 -DAC_ROM_MR0_CALIB= -DAC_ROM_MR0_DLL_RESET=0001100010000 -DAC_ROM_MR1=0000000000000 -DAC_ROM_MR1_OCD_ENABLE= -DAC_ROM_MR2=0000000000000 -DAC_ROM_MR3=0000000000000 -DAC_ROM_MR0_MIRR=0001000001001 -DAC_ROM_MR0_DLL_RESET_MIRR=0001010001000 -DAC_ROM_MR1_MIRR=0000000000000 -DAC_ROM_MR2_MIRR=0000000000000 -DAC_ROM_MR3_MIRR=0000000000000 -DQUARTER_RATE=0 -DHALF_RATE=1 -DFULL_RATE=0 -DNON_DES_CAL=0 -DAP_MODE=0 -DGUARANTEED_READ_BRINGUP_TEST=0 -DMEM_ADDR_WIDTH=13 -DHARD_PHY=0
Error: s0: UniPHY Sequencer Microcode Compiler
Error: s0: Copyright (C) 2020 Intel Corporation. All rights reserved.
Error: s0: Info: Reading sequencer_mc/ac_rom.s ...
Error: s0: Info: Reading sequencer_mc/inst_rom.s ...
Error: s0: Info: Writing ../q_sys_mem_if_ddr3_emif_0_s0_AC_ROM.hex ...
Error: s0: Info: Writing ../q_sys_mem_if_ddr3_emif_0_s0_inst_ROM.hex ...
Error: s0: Info: Writing sequencer/sequencer_auto_ac_init.c ...
Error: s0: Info: Writing sequencer/sequencer_auto_inst_init.c ...
Error: s0: Info: Writing sequencer/sequencer_auto.h ...
Error: s0: Info: Writing sequencer/sequencer_auto.h ...
Error: s0: Info: Writing ../sequencer_auto_h.sv ...
Error: s0: Info: Microcode compilation successful
Error: s0: /mnt/c/intelfpga_lite/20.1/quartus/../nios2eds/sdk2/bin/nios2-bsp hal sequencer_bsp .. --default_sections_mapping sequencer_mem --use_bootloader DONT_CHANGE
Error: s0: nios2-bsp: Using /mnt/c/intelfpga_lite/20.1/nios2eds/sdk2/bin/bsp-set-defaults.tcl to set system-dependent settings.
Error: s0: nios2-bsp: Updating existing BSP because sequencer_bsp/settings.bsp exists.
Error: s0: Makefile:18: recipe for target 'setup' failed
Error: s0: child process exited abnormally
Error: s0: Cannot find sequencer/sequencer.elf
Error: s0: An error occurred
while executing
"error "An error occurred""
(procedure "_error" line
invoked from within
"_error "Cannot find $seq_file""
("if" then script line 2)
invoked from within
"if {[file exists $seq_file] == 0} {
_error "Cannot find $seq_file"
}"
(procedure "alt_mem_if::util::seq_mem_size::get_max_memory_usage" line 14)
invoked from within
"alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf""
invoked from within
"set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequencer" "sequencer.elf"]]"
("if" then script line 2)
invoked from within
"if { !$do_only_rw_mgr_mc && !($bfm_mode || $hps_mode)} {
set calc_mem_size [alt_mem_if::util::seq_mem_size::get_max_memory_usage [file join "sequenc..."
(procedure "generate_qsys_sequencer_sw" line 943)
invoked from within
"generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0 $nios_hex_file_name $ac_rom_init_file_name ..."
invoked from within
"set seq_mem_size_list [generate_qsys_sequencer_sw $prepend_str $protocol $pre_compile_dir $fileset $inhdl_dir $rdimm $lrdimm 0 0 $nios_hex_file_name ..."
("if" else script line 2)
invoked from within
"if {[::alt_mem_if::util::qini::qini_value alt_mem_if_seq_size_request 0] > 0} {
set seq_mem_size [::alt_mem_if::util::qini::qini_value alt_mem_if_se..."
(procedure "alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer" line 238)
invoked from within
"alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}"
invoked from within
"set qsys_sequencer_files_list [alt_mem_if::gen::uniphy_gen::generate_qsys_sequencer "${name}" $protocol $tmpdir $fileset {}]"
(procedure "alt_mem_if::gen::uniphy_gen::generate_sequencer_files" line 3)
invoked from within
"alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "DDR3" $tmpdir QUARTUS_SYNTH"
invoked from within
"foreach generated_file [alt_mem_if::gen::uniphy_gen::generate_sequencer_files $name "DDR3" $tmpdir QUARTUS_SYNTH] {
set file_name [file tail $genera..."
(procedure "generate_synth" line
invoked from within
"generate_synth q_sys_mem_if_ddr3_emif_0_s0"
Info: s0: "mem_if_ddr3_emif_0" instantiated altera_mem_if_ddr3_qseq "s0"
Error: Generation stopped, 191 or more modules remaining
Info: q_sys: Done "q_sys" with 75 modules, 192 files
Error: qsys-generate failed with exit code 1: 23 Errors, 2 Warnings
Info: Finished: Create HDL design files for synthesis

0 Kudos
Kenny_Tan
Moderator
4,644 Views

any update?


0 Kudos
Peter_R
Beginner
4,615 Views

Hi,

I'm a co-worker with SThor8. Still same problem with the EMIF IP. We have tested the suggested solution on several computers with clean Windows 10 2004 installations with exactly same error result when generating HDL. I've tested version 19.1 + patch and 20.1. However I had no problem with 19.1 + patch before the release of the Windows 10 2004 update.

Regards

Peter

0 Kudos
Kenny_Tan
Moderator
4,578 Views

we make some fix on 20.3, kindly wait for it. 20.3 will allow M and m for WSL.


Also, can you be specific on what steps that you had done beside installing the patch?


0 Kudos
dncmrc
New Contributor I
4,574 Views

I ran into the same big M small m issue.

Our solution was to use wsl to:

1. unregister Ubuntu

2. set as default WSL 1:

wsl --set-default-version 1

3. reinstall Ubuntu with all its updates as suggested by Intel

If Ubuntu uses WSL 1 (even if you have WSL 2 installed) uname -r will return the right, upper case "M" Microsoft.

 

0 Kudos
Kenny_Tan
Moderator
4,563 Views

Hi dnmrc,


Since this is a different issue, can you open a new thread on this? We will address this differently.


Thanks,


0 Kudos
Kenny_Tan
Moderator
4,506 Views

Noted. We shall close this thread.


Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


0 Kudos
SThor8
New Contributor I
4,501 Views

Hi

Before you guys create a patch, remember there are several issues, at least 3

1. Some of the building scripts is using uname-r to check the platform, this is where the big M and little m problem occur.

One example is nios2_command_shell.sh others are

2. Some scripts is not using uname -r but other ways to determinate the platform and they also get the problems with the M and m 

Most notable is reading the /proc/version file, like some perl scripts which fails because of the M and m

One example is intelFPGA/20.1/nios2eds/bin/nios2-stackreport.pl

which use 

open my $handle, "<", "/proc/version" || return;
my $first_line = <$handle>;
close $handle;
return ($first_line =~ /Microsoft/);

 

3. There is a hickup from the earlier used cygwin remains to the new wsl when it looks for "/bin/gnu/H-x86_64-pc-linux-gnu/bin" to create the build env variables.

4. Paths problem for gcc at the very bottom.

nios2-elf-gcc.exe: fatal error: cannot execute 'cc1': CreateProcess: No such file or directory

gcc can not find the cc1 executable, it is not copied to the temporary build directory structure that is on the fly created when compiling nios.

 

Regards Stefan

 

 

0 Kudos
Reply