octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Text engine for OpenGL renderer


From: Shai Ayal
Subject: Re: Text engine for OpenGL renderer
Date: Sat, 27 Jun 2009 18:58:04 +0300

On Sat, Jun 27, 2009 at 5:46 PM, Ben Abbott<address@hidden> wrote:
> On Jun 26, 2009, at 4:19 PM, Michael Goffioul wrote:
>
>> Hi,
>>
>> For those interested, I just commited a new Freetype/Fontconfig based text
>> engine for the OpenGL backend. At the moment, it's very basic. It's mainly
>> a skeleton that contains enough to render tick labels, axes labels, titles
>> and
>> simple text objects. It will be enhanced later on.
>>
>> Note that if fontconfig is not available, the engine uses a hardcoded
>> font, which
>> defaults to Verdana under Win32 platform. As I didn't what font to use
>> under
>> UNIX platform, I left that part empty. This means that if you're running
>> UNIX
>> without fontconfig (development package), text rendering will probably not
>> work.
>>
>> Enjoy,
>> Michael.
>
> Michael / others,
>
> I have fontcofig and freetype, but ...
>
> octave:1> backend("fltk")
> octave:2> plot(1:10)
> octave:3> error: draw_text: cannot render text, Freetype library not
> available
> error: draw_text: cannot render text, Freetype library not available
> error: draw_text: cannot render text, Freetype library not available
> error: draw_text: cannot render text, Freetype library not available
> error: draw_text: cannot render text, Freetype library not available
> error: draw_text: cannot render text, Freetype library not available
> panic: Bus error -- stopping myself...
> attempting to save variables to `octave-core'...
> save to `octave-core' complete
>
> I'm using Fink as my package manager.
>
> $ fink list fontconf
> Information about 9092 packages read in 1 seconds.
>  i   fontconfig-path      20081230-3      Add custom directories to
> fontconfig search
>  p   fontconfig1                          [virtual package]
>  p   fontconfig1-dev                      [virtual package]
>  p   fontconfig1-shlibs                   [virtual package]
>  i   fontconfig2-dev      2.4.1-108       Font configuration library
>  i   fontconfig2-shlibs   2.4.1-108       Fontconfig 2, shared libs (dummy)
>  i   system-pkgconfig-fo  2.6.0-1         [virtual pkgconfig package
> representing fontconfig]
>
> $ fink list freetype
> Information about 9092 packages read in 1 seconds.
>     freetype             1.3.1-11        TrueType font rendering library,
> version 1
>     freetype-bin         1.3.1-11        TrueType font rendering library,
> version 1
>     freetype-hinting     1.3.1-11        TrueType font rendering library,
> version 1, hinting en...
>     freetype-hinting-bi  1.3.1-11        TrueType font rendering library,
> version 1, hinting en...
>     freetype-hinting-sh  1.3.1-11        TrueType font rendering library,
> version 1, hinting en...
>  i   freetype-shlibs      1.3.1-11        TrueType font rendering library,
> version 1
>     freetype2            2.1.4-12        TrueType font rendering library,
> (dummy)
>  p   freetype2-dev                        [virtual package]
>     freetype2-hinting    2.1.4-12        TrueType font rendering library,
> (dummy)
>  i   freetype2-hinting-d  2.1.4-12        TrueType font rendering library,
> headers
>  i   freetype2-hinting-s  2.1.4-12        TrueType font rendering library,
> shared libs
>  p   freetype2-shlibs                     [virtual package]
>  i   freetype219          2.3.8-2         TrueType font rendering library,
> headers
>  i   freetype219-default  2.3.8-2         Transient upgrader package
>  i   freetype219-shlibs   2.3.8-2         TrueType font rendering library,
> shared libs
>  i   system-pkgconfig-fr  9.20.3-1        [virtual pkgconfig package
> representing freetype2]
>
> The results of ./configure are ...
>
> Octave is now configured for i386-apple-darwin9.7.0
>
>  Source directory:     .
>  Installation prefix:  /sw
>  C compiler:           gcc  -mieee-fp  -Wall -W -Wshadow -Wformat -g -O2
>  C++ compiler:         g++  -mieee-fp -I/sw/include/freetype2 -I/sw/include
> -I/usr/X11/include    -Wall -W -Wshadow -Wold-style-cast -Wformat -g -O2
>  Fortran compiler:     /sw/bin/gfortran -g -mieee-fp
>  Fortran libraries:    /sw/lib/gcc4.4/lib/libgfortran.dylib
>  BLAS libraries:
>  FFTW libraries:       -lfftw3 -lfftw3f
>  GLPK libraries:       -lglpk
>  UMFPACK libraries:    -lumfpack
>  AMD libraries:        -lamd
>  CAMD libraries:       -lcamd
>  COLAMD libraries:     -lcolamd
>  CCOLAMD libraries:    -lccolamd
>  CHOLMOD libraries:    -lcholmod
>  CXSPARSE libraries:   -lcxsparse
>  ARPACK libraries:
>  QRUPDATE libraries:
>  HDF5 libraries:       -lhdf5
>  CURL libraries:       -lcurl
>  REGEX libraries:      -L/sw/lib -lpcre
>  QHULL libraries:      -lqhull
>  OPENGL libraries:     -L/usr/X11/lib -lfontconfig -lftgl -L/sw/lib
> -lfreetype -lz -Wl,-framework,CoreServices
> -Wl,-framework,ApplicationServices -Wl,-framework -Wl,OpenGL
>  FLTK backend libs:    -L/sw/lib/fltk-aqua/lib -L//sw/lib -L/sw/lib
> -lfltk_gl -framework AGL -framework OpenGL -lfltk -lpthread -framework
> Carbon -framework ApplicationServices
>  X11 include flags:    /usr/X11/include
>  X11 libraries:        -L/usr/X11/lib -lX11
>  CARBON libraries:     -Wl,-framework -Wl,Carbon
>  LIBS:                 -lreadline  -lncurses
> -Wl,-framework,Accelerate,-dylib_file,/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib:/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
> -lhdf5 -lz -lm
>  Default pager:        less
>  gnuplot:              gnuplot
>  Magick config:        GraphicsMagick++-config
>
>  Do internal array bounds checking:  false
>  Build static libraries:             false
>  Build shared libraries:             true
>  Dynamic Linking:                    true (dyld)
>  Include support for GNU readline:   true
>  64-bit array dims and indexing:     false
>
> configure: WARNING: A BLAS library was detected but found incompatible with
> your Fortran 77 compiler.  The reference BLAS implementation will be used.
> To improve performance, consider using a different Fortran compiler or a
> switch like -ff2c to make your Fortran compiler use a calling convention
> compatible with the way your BLAS library was compiled, or use a different
> BLAS library.
> configure: WARNING: qrupdate not found. The QR & Cholesky updating functions
> will be slow.
> configure: WARNING: arpack not found. This will result in a lack of the eigs
> function.
> configure:
>
> NOTE: libraries may be skipped if a library is not found OR
>      if the library on your system is missing required features.
>
> Does anyone have some insight as to what is wrong?
>
> Ben
>
>

Looking into this, this error message is emitted if HAVE_FREETYPE is
not defined. This means that the check for freetype in the configure
script has failed. The check there is:
  AC_CHECK_FT2([9.0.3],[AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if
you have Freetype library.])],

So it seems we require a minimum version of 9.0.3 (I'm not sure why --
I think this is leftover from FTGL days). From the fink output you
sent, it looks like you have freetype2 version 9.20.3-1 which should
be OK.
So, for some reason the configure script does not detect your
installed freetype (maybe because you have an older version of
freetype installed as well?). You will have to debug this -- look at
config.log for hints

Note that maybe octave is actually linked against the correct
freetype, but since HAVE_FREETYPE is not defined, the code is complied
to emit this error.

Shai

Shai



reply via email to

[Prev in Thread] Current Thread [Next in Thread]