“无法初始化 wxWidgets”,然后是核心转储

“无法初始化 wxWidgets”,然后是核心转储

我正在 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 pngset 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.

相关内容