I've configured a Quartus Prime Pro 19.1 project using the GUI, and now I want to build it using the command line. Here is the command I've been using:
quartus_sh --flow compile my_project 2>&1 | tee quartus.log
The command line above compiles all of the project flows, and dumps both stdout and stderr to quartus.log. However, when I watch the command outputs during that command, the text seems to "hang" due to stdout/stderr buffering. Is there a way to disable the buffering, or reduce the buffer limit? Or just dump the flow outputs to a log file?
The compilation report automatically generated by Quartus should contain all the output of the compilation (output_files folder usually). Is there a reason why you want to output to a separate log file?
My organization uses Jenkins for regression testing and our default Jenkins configuration checks the output log every 15 minutes or so, and if there is no activity (i.e. no stdout/stderr) then it marks the job as a timeout failure. It's easy to disable this config feature but generally I would prefer to not have special exceptions for our FPGA regression.
I am well aware that the logs contain all of the information, and where the logs are located.
I tried to run the same command and I can see that the quartus.log is written with the flow information using Pro edition software v19.1.
Have you tried the same command using other project file?
The problem isn't with the log or the project file. The problem is that when Quartus writes to stdout and stderr, it does so in a buffered fashion. I want the buffer to be flushed more often. We have seen similar problems with other tools before (notably Cadence Xcelium) and sometimes there is a flag to enable unbuffered writes to stdout/stderr.
It's not really a huge issue, just annoying from a regression flow perspective.