octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #47886] Do not link against libraries without


From: anonymous
Subject: [Octave-bug-tracker] [bug #47886] Do not link against libraries without OpenGL
Date: Tue, 10 May 2016 13:19:48 +0000 (UTC)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17

URL:
  <http://savannah.gnu.org/bugs/?47886>

                 Summary: Do not link against libraries without OpenGL
                 Project: GNU Octave
            Submitted by: None
            Submitted on: Tue 10 May 2016 01:19:47 PM UTC
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: Marcus
        Originator Email: address@hidden
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: Any

    _______________________________________________________

Details:

I maintain the development version of Octave for the MacPorts Project
<https://www.macports.org>.
We offer users the option of turning off support for FLTK or QT and plotting
with gnuplot.
Turning off FLTK or Qt is easy (--without-fltk or --without-qt).
Without FLTK and Qt, there seems to be no reason to link against OpenGL.
Indeed, there is code to that effect in configure.ac

if test $build_qt_graphics = no && test $build_fltk_graphics = no; then
  opengl_graphics=no
else
  opengl_graphics=yes
fi

Without OpenGL, there seems to be no need for GL2PS, Fontconfig, or FreeType
(or Xft or OSMesa, but they are not needed on OS X).
Turning off OpenGL is easy (--without-opengl), but there seems to be no way of
stopping configure.ac from looking for GL2PS, Fontconfig, or FreeType.

If the user happens to have these libraries, then Octave unnecessarily links
against them.
More problematic, if --without-opengl is given *and* GL2PS is found, then the
file
libinterp/corefcn/gl2ps-print.cc causes an error at link time
HAVE_GL2PS_H is 1, so glGetIntegerv and glRasterPos3d (and perhaps others) are
called but cannot be found since the OpenGL libraries are not linked in.

  CXXLD    libinterp/liboctinterp.la
clang: warning: argument unused during compilation: '-pthread'
clang: warning: argument unused during compilation: '-pthread'
Undefined symbols for architecture x86_64:
  "_glGetIntegerv", referenced from:
      gl2ps_renderer::draw_axes(axes::properties const&) in
libcorefcn.a(libinterp_corefcn_libcorefcn_la-gl2ps-print.o)
  "_glRasterPos3d", referenced from:
      gl2ps_renderer::render_text(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&, double,
double, double, int, int, double) in
libcorefcn.a(libinterp_corefcn_libcorefcn_la-gl2ps-print.o)
ld: symbol(s) not found for architecture x86_64


I am building with the latest development version on OS X version 10.11.4 with
the clang compiler, but I believe this issue would affect all users.
Attached is a proposed solution, but concerns were expressed about a previous
version <http://savannah.gnu.org/bugs/?47263>.




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Tue 10 May 2016 01:19:47 PM UTC  Name: patch-configure.diff  Size: 5kB  
By: None

<http://savannah.gnu.org/bugs/download.php?file_id=37119>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47886>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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