我使用here给出的说明通过Homebrew安装了Octave。

当我尝试生成绘图时,收到以下消息:

Fontconfig error: Cannot load default config file
warning: could not match any font: *-normal-normal-10
warning: called from
    axes at line 66 column 10
    gca at line 58 column 9
    newplot at line 148 column 8
    surf at line 70 column 9
    sombrero at line 65 column 5

然后,我得到一系列以下消息:
warning: ft_render: unable to load appropriate font
warning: could not match any font: *-normal-normal-10

通常情节出现一次,但是如果我再次调用它,则Octave退出并显示以下消息。
panic: Segmentation fault: 11 -- stopping myself...
attempting to save variables to 'octave-workspace'...
warning: unable to open 'octave-workspace' for writing...
warning: called from
    __gnuplot_drawnow__>gnuplot_trim_term at line 368 column 10
    __gnuplot_drawnow__>gnuplot_set_term at line 119 column 20
    __gnuplot_drawnow__ at line 84 column 16
Segmentation fault: 11

在讨论类似错误时,我经常看到对/etc/fonts/fonts.conf的引用。我的/ etc目录不包含fonts子目录。这可能是问题的根源,但我不知道如何解决。当我运行brew install fontconfig时,我得到Warning: fontconfig-2.11.1_1 already installed。当我运行sudo find / -name fonts.conf时,我得到/opt/X11/lib/X11/fontconfig/fonts.conf
brew doctor产生以下警告,这些警告可能是相关的,并且我不知道如何解决(未卸载Anaconda):
Warning: Anaconda is known to frequently break Homebrew builds, including Vim
and MacVim, due to bundling many duplicates of system and Homebrew-available
tools.

If you encounter a build failure please temporarily remove Anaconda
from your $PATH and attempt the build again prior to reporting the
failure to us. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
    /Users/greg/anaconda/bin/curl-config
    /Users/greg/anaconda/bin/freetype-config
    /Users/greg/anaconda/bin/libdynd-config
    /Users/greg/anaconda/bin/libpng-config
    /Users/greg/anaconda/bin/libpng16-config
    /Users/greg/anaconda/bin/python-config
    /Users/greg/anaconda/bin/python2-config
    /Users/greg/anaconda/bin/python2.7-config
    /Users/greg/anaconda/bin/xml2-config
    /Users/greg/anaconda/bin/xslt-config

我正在运行OS X 10.11.3(El Capitan)。

最佳答案

实际上,这不是Octave的问题,而是其复杂的设置和其他实用程序(尤其是fontconfig)的配置错误。

为了正常工作,您需要手动设置fontconfig的路径,这样它就不会在不合适的目录中查找字体(/etc/fonts适用于Linux安装,但是OS X XQuartz放在不同的位置)。

您应该运行export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig命令以正确的方式设置fontconfig。您还可以将export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig行添加到~/.bash_profile并重新启动终端,因此您不再需要运行此命令。

09-30 10:36