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

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

[Octave-bug-tracker] [bug #55735] QGLWidget not detected with Qt 4, so Q


From: anonymous
Subject: [Octave-bug-tracker] [bug #55735] QGLWidget not detected with Qt 4, so Qt graphics toolkit is not compiled
Date: Mon, 11 Mar 2019 00:50:39 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 SeaMonkey/2.49.4

Follow-up Comment #9, bug #55735 (project octave):

Original patch author here.  I'd like to improve on my patch by addressing the
concerns that QtOpenGL/Qt5OpenGL would no longer be optional.  However I can't
figure out what part of the Octave build process makes it optional.  Some
observations:

1.  If Qt[5]OpenGL supplies CPPFLAGS or LDFLAGS, it seems like bad form to
leave these out.  All of the Qt libraries are probably installed to the same
directory (where a -L flag from any Qt module would satisfy them all), but if
they're not, then you'll likely need Qt[5]OpenGL-specific LDFLAGS so the
linker will know where to find that library.

2.  The Qt5OpenGL headers all live in their own directory (at least on my
machine) and somehow it builds without having that directory in the include
path (since we've left it out of QT_CPPFLAGS).  So we're linking to the
library but not using its headers in any way?  This has me wondering what is
requiring us to link to it.

3.  Moving Qt[5]OpenGL out of QT_MODULES (see r25931) has a side-effect that
this module is no longer checked for existence by PKG_CHECK_MODULES, nor the
QT_MODULES_AVAILABLE/MISSING stuff.  It looks like we're just assuming it
exists when we call `$PKG_CONFIG --libs-only-l $QT_OPENGL_MODULE`.  If it
doesn't exist, the command should give some error.

I tried renaming Qt5OpenGL.pc so that pkg-config couldn't find it, and indeed
it does give an error message.

Surprisingly, configure kept running, and I couldn't find any other errors
related to this.  QT_OPENGL_LIBS is blank, and there is no warning that Qt
with OpenGL would be disabled.  It also compiled fine.

I've come to these conclusions:

For Qt5, it doesn't appear that Octave uses the Qt5OpenGL module at all
(please double-check me on this).  The Qt documentation categorizes this as an
"add-on" (not guaranteed to exist) and is deprecated.

For Qt4, the QtOpenGL module is needed if you want OpenGL support.  I don't
see any distinction in the Qt4 docs that it might not exist, and Octave 4.4.1
didn't consider it to be optional.

So I think the easiest way to fix this is to remove QT_OPENGL_MODULE and
QT_OPENGL_LIBS, deleting Qt5OpenGL, and re-adding QtOpenGL to QT_MODULES for
Qt4 only (to preserve the behavior of 4.4.1).  Unless you want to make OpenGL
optional with Qt4, but from the comments here it doesn't seem like Qt4 is a
high priority.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?55735>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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