我最近经历了一次演练,以解决使用gnuplot在rhel 7.1上获得八度音阶的问题。基本上,我得到以下丑陋的消息,没有情节:
$ export LIBGL_DEBUG=verbose
$ octave
$ GNU Octave, version 3.8.2
octave:1> x = -10:0.1:10; plot(x, sin(x))
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast():
/usr/lib64/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
libGL: Can't open configuration file /home/jsaari/.drirc: No such file or directory.
libGL: Can't open configuration file /home/jsaari/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
function is no-op
function is no-op
function is no-op
. . .
在没有找到任何单一的有用帖子后我终于得出了决议。
显然,OpenGL / Mesa实现存在问题。此外,八度音程有多个图形输出可用,默认情况下使用USED来使用gnuplot。这个特殊版本的八度音程具有“fltk”,也称为“OpenGL”作为默认图形输出。通过将图形库设置为默认值,可以轻松克服这一问题。
octave:1> graphics_toolkit()
ans = fltk
octave:2> available_graphics_toolkits()
ans =
{
[1,1] = fltk
[1,2] = gnuplot
}
octave:3> graphics_toolkit("gnuplot")
octave:4> graphics_toolkit()
ans = gnuplot
octave:5> x = -10:0.1:10; plot(x, sin(x))
现在我得到了一个很好的情节。
如果这可以节省一个人生命的两个小时,我将永远不会再回来,这值得张贴。