Подтвердить что ты не робот

Ошибка Octave Fontconfig

Я установил Octave через Homebrew с помощью инструкций здесь.

Когда я пытаюсь сгенерировать график, я получаю следующее сообщение:

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 не содержит подкаталог шрифтов. Это может быть источником проблемы, но я не знаю, как это исправить. Когда я бегу, 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).

4b9b3361

Ответ 1

Собственно, это не проблема 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 и перезапустить свой терминал, поэтому вам больше не нужно запускать эту команду.

Ответ 2

попробовать

brew uninstall fontconfig

brew install fontconfig --universal

если у вас нет или не хотите использовать xquartz, вы можете использовать qt

brew uninstall gnuplot

brew install gnuplot --with-qt