Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Octave Fontconfig error

Tags:

I installed Octave via Homebrew using the instructions given here.

When I try to generate a plot, I get the following message:

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 

I then get a long series of the following messages:

warning: ft_render: unable to load appropriate font warning: could not match any font: *-normal-normal-10 

Usually the plot appears once, but if I call it again then Octave quits with the following message.

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 

In discussions of similar errors I have often seen references to /etc/fonts/fonts.conf. My /etc directory does not contain a fonts subdirectory. This may be the source of the problem, but I do not know how to fix it. When I run, brew install fontconfig, I get Warning: fontconfig-2.11.1_1 already installed. When I run sudo find / -name fonts.conf, I get /opt/X11/lib/X11/fontconfig/fonts.conf.

brew doctor produces the following warnings, which may be relevant and which I do not know how to fix (short of uninstalling 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 

I am running OS X 10.11.3 (El Capitan).

like image 251
gsganden Avatar asked Feb 07 '16 04:02

gsganden


2 Answers

try

brew uninstall fontconfig  brew install fontconfig --universal 

if you don't have or don't want to use xquartz, you can use qt

brew uninstall gnuplot  brew install gnuplot --with-qt 
like image 89
Gabiden Avatar answered Oct 23 '22 23:10

Gabiden


Actually, it's not an issue of Octave, but of its complicated setup and misconfiguration of other utilities (especially fontconfig).

For proper work you need to set manually path for fontconfig, so it wouldn't look for fonts in inappropriate directory (/etc/fonts works for Linux installations, but OS X XQuartz goes to different place).

You should run command export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig to setup fontconfig proper way. Also you can add line export FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig to your ~/.bash_profile and restart your terminal, so you don't need to run this command anymore.

like image 41
OleGG Avatar answered Oct 23 '22 22:10

OleGG