No neato output png file generated

I am running the C++ code below but the neato output file “tree.png” is only occasionally generated.
The dot input file “tree.dot” and the gvpr input file “binarytree.gvpr” are confirmed to exist Kindly advise. The output of neato in verbose mode is below

system(“dot tree.dot | gvpr -c -f binarytree.gvpr | neato -v -n -Tpng -otree.png”);

neato - graphviz version 2.47.1 (20210417.1919)
Using render: cairo:cairo
Using device: png:cairo:cairo
libdir = “C:\Program Files\Graphviz\bin”
Activated plugin library: gvplugin_neato_layout.dll
Using layout: neato:neato_layout
The plugin configuration file:
C:\Program Files\Graphviz\bin\config6
was successfully loaded.
render : cairo dot dot_json fig gdiplus json json0 map mp pic pov ps svg tk vml xdot xdot_json
layout : circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
textlayout : textlayout
device : bmp canon cmap cmapx cmapx_np dot dot_json emf emfplus eps fig gif gv imap imap_np ismap jpe jpeg jpg json json0 metafile mp pdf pic plain plain-ext png pov ps ps2 svg tif tiff tk vml xdot xdot1.2 xdot1.4 xdot_json
loadimage : (lib) bmp eps gif jpe jpeg jpg png ps svg

My guess is that dot, gvpr, and/or neato are failing but the error messages (if any) and return codes are being lost. (My guess is that gvpr is the culprit)
I think this might help you figure out what was going on:

  • system("dot tree.dot -oxtree.dot")
  • Assuming xtree.dot exists and looks good, do this:
    gvpr -c -f binarytree.gvpr xtree.dot | neato -v -n -Tpng -otree.png
  • if necessary, split the gvpr / neato pipeline