<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><div><br></div><div><br class="khtml-block-placeholder"></div></div> </div><br><div><div>On Apr 17, 2009, at 7:43 AM, Glynn Clements wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>Markus Neteler wrote:<br><br><blockquote type="cite"><blockquote type="cite">If I generate a label:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">v.label map=Labels column=stuff font=/usr/X11R6/lib/X11/fonts/TTF/Vera.ttf<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">then it displays fine in the gui. &nbsp;But if I try to use other monitors from<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the command line I consistently get a crash. &nbsp;For example:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">d.mon start=PS<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">d.labels labels=Labels<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I have tried with Spearfish, GRASS 6.4.0RC4, Linux 64bit:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">v.label &nbsp;map=roads colum=label font=/usr/share/fonts/TTF/Vera.ttf<br></blockquote><blockquote type="cite">d.mon start=PS<br></blockquote><blockquote type="cite">d.labels labels=roads<br></blockquote><blockquote type="cite">d.mon stop=PS<br></blockquote><blockquote type="cite">kghostview map.ps<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">No problem, looks fine.<br></blockquote><blockquote type="cite">It seems to be Mac specific.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">And I get the following repeated a whole bunch of times:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">The process has forked and you cannot use this CoreFoundation functionality<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">safely. You MUST exec().<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Break on<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__()<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">to debug.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">The same thing happens if I use d.mon start=PNG.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">could fork() in<br></blockquote><blockquote type="cite"> lib/driver/main.c<br></blockquote><blockquote type="cite">be the problem?<br></blockquote><br>Yes. It's basically a symptom of "MacOSX is sort of Unix, but not<br>quite".</div></blockquote><div><br></div>Actually MacOSX is Unix and Linux is almost Unix.</div><div><br><blockquote type="cite"><div><br><br>A similar issue affects libW11 on Cygwin. There, mon.start runs the<br>driver in the background (spawnl(_P_DETACH, ...)) with argv[2] = "-",<br>which prevents it from fork()ing.<br><br>Something similar could be done for MacOSX. However, this isn't<br>robust, as it relies upon mon.select retrying upon failure. If the<br>driver takes too long to start, mon.select will fail.<br><br></div></blockquote><br></div><div>This explains the problem: &nbsp;<a href="http://developer.apple.com/technotes/tn2005/tn2083.html#SECDAEMONVSFRAMEWORKS">http://developer.apple.com/technotes/tn2005/tn2083.html#SECDAEMONVSFRAMEWORKS</a><br><br>Although I am not sure about the solution.<br></div><div><br></div><br></body></html>