Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
1,851 Views

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

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...

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 ?

 

0 Kudos
40 Replies
Highlighted
671 Views

I have encountered the same problem as described above when trying to compile from the Nios II Command Shell.

The simple workaround I have as of now is to compile using eclipse-nios2.exe. In this case it seems like all paths and variables are set correctly.

0 Kudos
Highlighted
Moderator
661 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
Highlighted
Moderator
626 Views

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


0 Kudos
Highlighted
Moderator
613 Views

any update?


0 Kudos
Highlighted
Beginner
598 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
Highlighted
Moderator
593 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
Highlighted
Beginner
582 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
Highlighted
Moderator
579 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
Highlighted
Beginner
574 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
Highlighted
Moderator
566 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
Highlighted
Moderator
552 Views

any update?


0 Kudos
Highlighted
Beginner
523 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
Highlighted
Moderator
486 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
Highlighted
Novice
482 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
Highlighted
Novice
478 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
Highlighted
Moderator
471 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
Highlighted
Moderator
469 Views

0 Kudos
Highlighted
Novice
462 Views

0 Kudos
Highlighted
Moderator
414 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
Highlighted
New Contributor I
409 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