Quartus copied content from IP directory then reported permission error
I am in IT and I am seeking help / discussion with Quartus software developers.
I am not familiar with how to use your tool - again, I am in IT. The user experienced an issue and I knew the reason, so I am here trying to get help on addressing it from your side.
User submitted this request to us -
Subject: unable to generate quartus ip intel_rtile_cxl_top_cxltyp2_ed with quartus/24.1
Description: " Hi, We are observing the following failure in quartus_ipgenerate tool during generation of the cxl ip with quartus 24.1 build 115, whereas we run the same fileset/scripts with quartus/23.4 seem to work ok, know what might be causing this issue? attaching snippets of quartus_ipgenerate logfile for both 23.4 and 24.1 quartus/24.1 log snippet: Info: intel_rtile_cxl_top_cxltyp2_ed: "Generating: intel_rtile_cxl_top_cxltyp2_ed" Info: intel_rtile_cxl_top_cxltyp2_ed: "Generating: intel_rtile_cxl_top_cxltyp2_ed_intel_rtile_cxl_top_1120_fliavca" Info: run_tclsh_script result: Error: couldn't open "/tmp/alt9863_11716708086067115917.dir/0001_intel_rtile_cxl_top_0_gen/avmm/avmm_ic/avmm_ic_gen.tcl": permission denied Info: while executing Info: "__altera__safe_source ../cxltyp2/tcl/cxltyp2_ip_filelist.tcl" Info: ("uplevel" body line 1) Info: invoked from within Info: "uplevel 1 [list __altera__safe_source {*}$args]" Info: (procedure "source" line 2) Info: invoked from within Info: "source ../cxltyp2/tcl/cxltyp2_ip_filelist.tcl" Info: (procedure "proc_sim_verilog_cxltyp2" line 23) Info: invoked from within Info: "proc_sim_verilog_cxltyp2 name" Info: (procedure "proc_sim_verilog" line 23) Info: invoked from within Info: "proc_sim_verilog intel_rtile_cxl_top_cxltyp2_ed_intel_rtile_cxl_top_1120_fliavca" Info: rtile_cxl_ip: "Generating: rtile_cxl_ip" Info: rnr_ial_sip_clkgen_pll: "Generating: rnr_ial_sip_clkgen_pll" Info: cfg_to_iosf_fifo_vcd: "Generating: cfg_to_iosf_fifo_vcd" Info: iosf_to_cfg_fifo_vcd: "Generating: iosf_to_cfg_fifo_vcd" Error: Generation stopped, 4 or more modules remaining Info: intel_rtile_cxl_top_cxltyp2_ed: Done "intel_rtile_cxl_top_cxltyp2_ed" with 6 modules, 1 files Error: Generation failed with exit code 1: 2 Errors, 0 Warnings But, when we run the same fileset with same compile options/toolflow with quartus/23.4 we are not seeing this issue. quartus/23.4 log snippet: Info: intel_rtile_cxl_top_cxltyp2_ed: "Processing generation queue" Info: intel_rtile_cxl_top_cxltyp2_ed: "Generating: intel_rtile_cxl_top_cxltyp2_ed" Info: intel_rtile_cxl_top_cxltyp2_ed: "Generating: intel_rtile_cxl_top_cxltyp2_ed_intel_rtile_cxl_top_1110_b5m2j4y" Info: run_tclsh_script result: Info: *************************************************************** Info: Quartus is a registered trademark of Intel Corporation in the Info: US and other countries. Portions of the Quartus Prime software Info: code, and other portions of the code included in this download Info: or on this DVD, are licensed to Intel Corporation and are the Info: copyrighted property of third parties. For license details, Info: refer to the End User License Agreement at Info: http://fpgasoftware.intel.com/eula. Info: *************************************************************** Warning: Quartus project not specified. Use --quartus-project and --rev to specify a Quartus project and revision. Warning: Platform Designer does not support specifying an output directory. "/tmp/alt9863_7940867862168757708.dir/0024_intel_rtile_cxl_top_0_gen/avmm/avmm_ic/avmm_ic" will be ignored. " via @1.Bot
----
So here is the cause of the problem with 24.1. We in IT handles the tool installation requests. We follow strict policy to chmod permission to remove write access (chmod -R ugo-w) of the install directory after the installation is done to prevent accidentally changes. We apply this to all the EDA tools we install - although, there has been a couple tools with exceptions.
The problem is when the user run 24.1, your tool performed a recursive copy of some kind from the <install path>/ip/altera directory. The files and directories inherit the source content permission. (r-xr-xr-x for directories, r--r--r-- for files) Because the source directory "avmm_ic" has no write permission, after the content is copied to /tmp, the directories and files retains the original permission except making the user the owner of the files/directories, but the process tries to write a tcl file in there and fails because the directory has no write permission.
The user has also stated the same routine runs perfectly fine with 23.4 - the issue only happens with 24.1. We remove write access for both versions so why does it work with 23.4 and not 24.1? Would it be possible your copy routine has changed from 23.4 to 24.1? Theoretically, the tool should not assume the permission to be write-able and perform a chmod +w after a directory copy - this is what I need your help to look into because it does not make sense for us to change the directory owner permission to writeable for the sake of a copy process so the engineer - who takes over ownership of the copied directory, and is not using the same login as the installer id