bugGNU Octave - Bugs: bug #44017, build failure with GUI and...

 
 

bug #44017: build failure with GUI and --without-opengl

Submitter:  Mike Miller <mtmiller>
Submitted:  Fri 16 Jan 2015 02:37:07 AM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 18 Jan 2015 11:45:02 PM UTC, comment #5: 
Mike Miller <mtmiller>
Group Member
Sat 17 Jan 2015 02:57:31 PM UTC, comment #4: 

I think we should do whatever is easiest for us since this is going to be such a rare combination.  If anyone is going to be building without OpenGL for plotting then I think it is fine to build an absolutely minimal Octave (no GUI) which would just be the CLI interface.  This would still be very useful if you are using Octave just as a batch data processor.

Rik <rik5>
Group administrator
Sat 17 Jan 2015 05:47:43 AM UTC, comment #3: 

Looking back at previous versions, the --without-opengl option was in the 3.4 release as essentially a synonym for "don't build FLTK plotting". With --without-opengl, all checks for FreeType, Fontconfig, and FLTK were bypassed. So it was kind of like a --without option for all of those libraries together as a bundle.

It's still pretty much like that. But now we have two different OpenGL plot systems. And we now have a --without-fltk option, so users can build with OpenGL and Qt but avoid using FLTK if they want. And our Qt detection is requiring QtOpenGL unconditionally. I'm also ok with saying the GUI requires OpenGL, just not sure how best to express that in configure.

If a user legitimately doesn't have OpenGL libraries installed, then they also shouldn't have QtOpenGL available, and so the GUI will be disabled. But if a user does have OpenGL but wants to avoid linking against it for whatever reason, should we take away that option or should we make that force the GUI to be disabled also?

Mike Miller <mtmiller>
Group Member
Fri 16 Jan 2015 04:49:47 PM UTC, comment #2: 

Why do we have the --without-opengl flag anyways?  Is it to support the Mac platform?  In that case there might be a usage case where people want to build the GUI with OpenGL.  If there is no really good reason then I'm fine with saying the GUI requires OpenGL and just pointing to the CLI version of Octave if you want no OpenGL and gnuplot for plotting.

Rik <rik5>
Group administrator
Fri 16 Jan 2015 03:55:39 AM UTC, comment #1: 

And I get the same error building the gui-release branch with the --without-opengl option.

Mike Miller <mtmiller>
Group Member
Fri 16 Jan 2015 02:37:07 AM UTC, original submission:  

The default branch currently fails to build when the --without-opengl configure option is given, but the Qt libraries are detected and the libgui directory is built. Looks like it is because the Qt plotting modules are built unconditionally when the GUI is enabled, and they depend on libGL.

The error looks like:


In file included from ../../libgui/graphics/GLCanvas.cc:31:0:
../../libinterp/corefcn/gl-render.h:125:29: error: 'GLsizei' has not been declared
   virtual void draw_pixels (GLsizei w, GLsizei h, GLenum format,
                             ^
../../libinterp/corefcn/gl-render.h:125:40: error: 'GLsizei' has not been declared
   virtual void draw_pixels (GLsizei w, GLsizei h, GLenum format,
                                        ^
../../libinterp/corefcn/gl-render.h:125:51: error: 'GLenum' has not been declared
   virtual void draw_pixels (GLsizei w, GLsizei h, GLenum format,
                                                   ^
../../libinterp/corefcn/gl-render.h:126:29: error: 'GLenum' has not been declared
                             GLenum type, const GLvoid *data);
                             ^
../../libinterp/corefcn/gl-render.h:126:48: error: 'GLvoid' does not name a type
                             GLenum type, const GLvoid *data);
                                                ^
Makefile:3292: recipe for target 'graphics/graphics_libgui_graphics_la-GLCanvas.lo' failed


I will try the same thing on the gui-release branch, I expect it will fail with the same error.

What do we want to do, if --without-opengl is given disable the GUI completely? Or introduce some conditionals to build the GUI but without Qt-based plotting?

Mike Miller <mtmiller>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by mtmiller (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-01-18 mtmiller StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code