I did a fresh build from sources few days ago on rocky linux 9.7, everything seems be working except PDF, CSV or TXT reports. The only thing that is working correctly is XML report.
This is list of files in directory where script should output PDF
ls -al /tmp/gvmd_lA6vSQ total 4 drwxr-xr-x. 2 root root 61 Jun 24 09:58 . drwxrwxrwt. 31 root root 4096 Jun 24 09:58 .. -rw-r–r–. 1 root root 0 Jun 24 09:58 c402cc3e-b531-11e1-9163-406186ea4fc5-ygx2AR.pdf
Every report format in OpenVAS is generated using a generate script. The PDF output is created the same way. Most likely, your installation is missing one or more tools that the generate script depends on.
Locate the generate scripts with the following command and identify any missing CLI dependencies used by them. Then install the required tools:
find / -type f -name “*generate*” -print
After locating the scripts, review their contents and verify that all referenced command-line utilities are available on the system. Install any missing dependencies and retry the PDF generation.
I found the script, the executable is present but it’s producing PDF of 0Kb.
cat /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
#!/bin/sh
Copyright (C) 2010-2018 Greenbone AG
SPDX-License-Identifier: GPL-2.0-or-later
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Report generator script: PDF.
This report generate initially creates a LaTeX file
using a XML transformation with the tool xsltproc.
In a second step the latex file is processed with
the tool pdflatex and results in the final PDF file.
The intermediate files are stored under /tmp.
TMP=mktemp -d || exit 1
xsltproc ./latex.xsl $1 > ${TMP}/report.tex 2>/tmp/err.out
pdflatex -interaction batchmode -output-directory ${TMP} ${TMP}/report.tex > /dev/null 2>&1
Run a second time to resolve references and page numbering as assembled
during first run.
pdflatex -interaction batchmode -output-directory ${TMP} ${TMP}/report.tex > /dev/null 2>&1 &
wait
cat ${TMP}/report.pdf && rm -rf ${TMP}
md manage:WARNING:2026-06-24 09h57.08 utc:225218: run_report_format_script: system failed with ret 256, 1, /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate /tmp/gvmd_lA6vSQ/report.xml '<files><basedir>/tmp/gvmd_lA6vSQ</basedir></files>' > /tmp/gvmd_lA6vSQ/c402cc3e-b531-11e1-9163-406186ea4fc5-ygx2AR.pdf 2> /dev/null
As I tried to explain, the issue is that the generate script is not completing successfully. In most cases, the root cause is missing LaTeX libraries/packages.
Please edit the script manually and change the last line to:
cat ${TMP}/report.pdf
Then run it once from the user interface and afterwards run the script manually from the command line. This will allow you to see exactly where the error occurs. Once you identify the failing step, install the required LaTeX packages and resolve any dependency issues. After that, rerun the script to verify that the PDF is generated successfully.
Thank you for your help so far and I am trying to understanding what are you trying to tell me .
the executables are present
xsltproc --version
Using libxml 20913, libxslt 10134 and libexslt 820
xsltproc was compiled against libxml 20913, libxslt 10134 and libexslt 820
libxslt 10134 was compiled against libxml 20913
libexslt 820 was compiled against libxml 20913
pdflatex -v
pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020)
kpathsea version 6.3.2
Copyright 2020 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.37; using libpng 1.6.37
Compiled with zlib 1.2.11; using zlib 1.2.11
[root@greenbone gvmd_lA6vSQ]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
cat: /tmp/tmp.2L389QxM4r/report.pdf: No such file or directory
[root@greenbone gvmd_lA6vSQ]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
cat: /tmp/tmp.QokaEyc8TK/report.pdf: No such file or directory
[root@greenbone gvmd_lA6vSQ]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
cat: /tmp/tmp.XRyZFXUYZJ/report.pdf: No such file or directory
[root@greenbone gvmd_lA6vSQ]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
cat: /tmp/tmp.4TxkzQVTUj/report.pdf: No such file or directory
[root@greenbone gvmd_lA6vSQ]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
cat: /tmp/tmp.pvCOdxUKxA/report.pdf: No such file or directory
So every time I try to run the script it wants to find report
I did just that and I am getting to the same point as before, on every script call new directory is required which doesn’t exist. It doesn’t look like any library is missing
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# cat /tmp/parameters.log
===== Wed Jun 24 06:08:48 PM UTC 2026 =====
Script: /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
Working directory: /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5
Arguments: /tmp/gvmd_YM9Non/report.xml <files><basedir>/tmp/gvmd_YM9Non</basedir></files>
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate /tmp/gvmd_YM9Non/report.xml '<files><basedir>/tmp/gvmd_YM9Non</basedir></files>'
cat: /tmp/tmp.LdzdXdBlUp/report.pdf: No such file or directory
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# mkdir -p /tmp/tmp.LdzdXdBlUp/
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate /tmp/gvmd_YM9Non/report.xml '<files><basedir>/tmp/gvmd_YM9Non</basedir></files>'
cat: /tmp/tmp.6FwbikIIda/report.pdf: No such file or directory
No, don’t do it that way. The TMP directory changes with every run, and you need to execute this script from that directory every time, including subsequent runs, because the required files won’t otherwise be available in the working directory. Instead, create a copy of the script and modify it to use the correct path explicitly.
I made a copy of the original and put your code inside the file. Went into gui and run generate report. Which produced log
===== Wed Jun 24 06:46:17 PM UTC 2026 =====
Script: /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5/generate
Working directory: /tmp/tmp.LdzdXdBlUp
Arguments: /tmp/tmp.LdzdXdBlUp/report.xml <files><basedir>/tmp/tmp.LdzdXdBlUpL</basedir></files>
Then I executed commands one by one:
[root@greenbone tmp.LdzdXdBlUp]# cd /var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# pwd
/var/lib/gvm/gvmd/report_formats/46c9fcfe-3e13-4457-95e9-8519a43928a1/c402cc3e-b531-11e1-9163-406186ea4fc5
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# ll
total 88
-rwxr-xr-x. 1 gvm gvm 1575 Jun 24 18:44 generate
-rwxr-xr-x. 1 root root 1532 Jun 24 18:07 generate_bkp
-rw-r--r--. 1 gvm gvm 74636 Jun 21 12:27 latex.xsl
-rw-r--r--. 1 gvm gvm 504 Jun 21 12:27 report_format.xml
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# echo $TMP
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# TMP=/tmp/tmp.LdzdXdBlUp
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# xsltproc ./latex.xsl "$1" > "${TMP}/report.tex" 2>/tmp/err.out
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# cat /tmp/err.out
warning: failed to load external entity ""
unable to parse
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# pdflatex -interaction batchmode -output-directory "${TMP}" "${TMP}/report.tex"
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# pdflatex -interaction batchmode -output-directory "${TMP}" "${TMP}/report.tex"
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
[root@greenbone c402cc3e-b531-11e1-9163-406186ea4fc5]# ll $TMP
total 4
-rw-r--r--. 1 root root 905 Jun 24 18:48 report.log
-rw-r--r--. 1 root root 0 Jun 24 18:47 report.tex
The only thing I see wrong here is warning: failed to load external entity "" unable to parse and that’s because the size of report.tex is 0.
[root@greenbone tmp.LdzdXdBlUp]# cat report.log
Here is how much of TeX's memory you used:
17 strings out of 480932
456 string characters out of 5906277
278758 words of memory out of 5000000
17351 multiletter control sequences out of 15000+600000
403430 words of font info for 27 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
13i,0n,15p,62b,10s stack positions out of 5000i,500n,10000p,200000b,80000s
! ==> Fatal error occurred, no output PDF file produced!
[root@greenbone tmp.LdzdXdBlUp]# cat report.tex
Let me put this politely and diplomatically: Rocky Linux’s LaTeX package is so stripped down it seems to have taken a wrong turn at Monkey Island. The fact that comment.sty is missing means PDF generation may fail out of the box. Fortunately, the fix is simple: