我正在 Solaris 下测试一些软件。该计算机运行 SunOS 5.11 (Solaris 11.3),我通过 SSH 连接到它。该软件运行其基准测试,然后绘制数据点。
makefile 执行以下操作:
$(CC) $(FILES) $(CFLAGS) ../sse/blake2b.c -o blake2b
$(CC) $(FILES) $(CFLAGS) ../sse/blake2s.c -o blake2s
$(CC) $(FILES) $(CFLAGS) md5.c -o md5 -lcrypto -lz
./blake2b > blake2b.data
./blake2s > blake2s.data
./md5 > md5.data
gnuplot do.gplot
这是运行时的样子:
gnuplot do.gplot
Failed to initialize wxWidgets.
*** Signal 11 - core dumped
do.plot可以找到在 GitHub 上。尝试诸如 和 之类的技巧set terminal png
并set terminal jpg
没有帮助。
我的环境没有设置DISPLAY
,但它确实设置了TERM
:
$ printenv | egrep -i '(term|display)'
TERM=xterm-256color
添加-v
尝试收集更多信息会导致Cannot open load file '-v'
.
有谁知道出了什么问题吗gnuplot
?或者也许,有人知道我如何让程序做除了核心转储之外的事情(比如在死前打印详细信息)?
gnuplot
安装时使用pkg install gnuplot
.下载了 13 MB 和 1130 多个文件,所以我猜测所有依赖项都存在。
$ gnuplot --version
gnuplot 4.6 patchlevel 0
答案1
问题似乎是,虽然do.gplot
最终写入 PDF 文件(plotcycles.pdf),但它是通过首先绘制到默认输出设备(可能wxt
)然后将终端类型设置为pdfcairo
并发出replot
命令来实现的。
似乎有多种方法可以覆盖默认终端类型 - 要么
在 gnuplot 命令行上,例如
gnuplot -e 'set term dumb' do.gplot
(“哑”ASCII 终端 - 在 SSH 终端中生成一种表格显示);或者
gnuplot -e 'set term unknown' do.gplot
(该
set term
命令标识为Unknown terminal type - not a plotting device
)通过设置一个空的
GNUTERM
环境变量GNUTERM= gnuplot do.gplot
手册描述为
GNUTERM The name of the terminal type to be used by default. This can be overridden by the gnuplotrc or .gnuplot start-up files and, of course, by later explicit "set terminal" commands.
由于在您的情况下 gnuplot 是通过 Makefile 调用的,因此该GNUTERM
变量可能是最方便的,因为它可以作为命令行变量传递给make
.