Octave Fontconfig错误

时间:2016-02-07 04:55:17

标签: homebrew octave fontconfig

我使用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)。

2 个答案:

答案 0 :(得分:40)

brew uninstall fontconfig

brew install fontconfig --universal

如果您没有或不想使用xquartz,可以使用qt

brew uninstall gnuplot

brew install gnuplot --with-qt

答案 1 :(得分:38)

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

为了正常工作,您需要手动设置fontconfig的路径,因此它不会在不适当的目录中查找字体(/etc/fonts适用于Linux安装,但OS X XQuartz会转到不同的位置)。< / p>

您应该运行命令export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig以正确设置fontconfig。您还可以在export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig添加行~/.bash_profile并重新启动终端,这样您就不再需要运行此命令了。