bugGNU Octave - Bugs: bug #49561, Compile failure when using...

 
 

bug #49561: Compile failure when using --without-opengl option.

Submitter:  Dan Sebald <sebald>
Submitted:  Tue 08 Nov 2016 08:24:21 PM UTC
   
 
Category:  Plotting with OpenGL 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
   

Jump to the original submission

Thu 10 Nov 2016 08:54:13 PM UTC, comment #8: 

OK.  Well, that got a little further anyway.  So now it is down to linking... (continuing on https://savannah.gnu.org/bugs/?47886)

Dan Sebald <sebald>
Thu 10 Nov 2016 09:37:09 AM UTC, comment #7: 

Dan - that is bug #47886, specifically if you build with --without-opengl, but you actually have libgl2ps installed, Octave will still detect libgl2ps and attempt to build and link against it. There is no --without-gl2ps option.

I think this bug is resolved, bug #47886 is still open and unresolved.

Mike Miller <mtmiller>
Group Member
Thu 10 Nov 2016 07:47:56 AM UTC, comment #6: 

I wiped the target clean, did "bootstrap" in the source tree, started a fresh build target with

~/octave/octave/octave/configure --without-opengl

and reran "make install".

It appears now that linking isn't working:


  GEN      src/octave-build-info.cc
  CXX      src/src_octave_cli-octave-build-info.o
  CXXLD    src/octave-cli
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glVertex3f'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glPassThrough'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glIsEnabled'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glGetBooleanv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glGetFloatv'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glRenderMode'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glFeedbackBuffer'
libinterp/.libs/liboctinterp.so: undefined reference to `glGetIntegerv'
libinterp/.libs/liboctinterp.so: undefined reference to `glRasterPos3d'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glEnd'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgl2ps.so: undefined reference to `glBegin'
collect2: error: ld returned 1 exit status
make[2]: *** [src/octave-cli] Error 1
make[2]: Leaving directory `/usr/local/src/octave/octave/build1'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/octave/octave/build1'
make: *** [install] Error 2


Should libgl2ps.so be included in the link if there is no opengl?  The next step would be to clone the remote canonical version once again, but it doesn't seem like one should have to do that for this scenario.  I wonder if something was lost in the make files regarding the without-opengl option.

Dan Sebald <sebald>
Tue 08 Nov 2016 11:55:56 PM UTC, comment #5: 

I checked in a fix for the dev branch here (http://hg.savannah.gnu.org/hgweb/octave/rev/3b2a30e9e49f).  You might need to run 'make distclean' and then call configure again before building.

Rik <rik5>
Group administrator
Tue 08 Nov 2016 11:39:04 PM UTC, comment #4: 

Yes, please try stable.  Hopefully this is only a dev branch issue which means we have longer to resolve it.

Rik <rik5>
Group administrator
Tue 08 Nov 2016 11:23:54 PM UTC, comment #3: 

Should I change to branch 'stable' and try that as well?

Dan Sebald <sebald>
Tue 08 Nov 2016 11:21:42 PM UTC, comment #2: 

Sure...

 ~/octave/octave/octave $ hg summary
parent: 22738:d7f04f490f82 tip
 importdata.m: Remove BIST error test that now passes.
branch: default
bookmarks: @
commit: 25 unknown (clean)
update: (current)
mq:     (empty queue)

Dan Sebald <sebald>
Tue 08 Nov 2016 11:05:35 PM UTC, comment #1: 

Can you use 'hg summary' and report which version of the development code has this issue?

Rik <rik5>
Group administrator
Tue 08 Nov 2016 08:24:21 PM UTC, original submission:  

Trying to build without opengl (so that documentation doesn't fail and an installation can be done):

$<path_to_base_dir>/configure --without-opengl; make install

, I've found there are some unprotected portions of the Open GL code or this file libinterp_corefcn_libcorefcn_la-gl-render.cc is mistakenly being built by the system when it shouldn't:

+verabtim+
  CXX      libinterp/corefcn/libinterp_corefcn_libcorefcn_la-gl-render.lo
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc: In member function 'void octave::opengl_renderer::draw_axes_x_grid(const axes::properties&)':
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1435:22: error: 'GL_LINES' was not declared in this scope
             glBegin (GL_LINES);
                      ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1435:30: error: 'glBegin' was not declared in this scope
             glBegin (GL_LINES);
                              ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1436:41: error: 'glVertex3d' was not declared in this scope
             glVertex3d (x_min, 0, zpTick);
                                         ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1438:20: error: 'glEnd' was not declared in this scope
             glEnd ();
                    ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc: In member function 'void octave::opengl_renderer::draw_axes_y_grid(const axes::properties&)':
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1588:22: error: 'GL_LINES' was not declared in this scope
             glBegin (GL_LINES);
                      ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1588:30: error: 'glBegin' was not declared in this scope
             glBegin (GL_LINES);
                              ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1589:42: error: 'glVertex3d' was not declared in this scope
             glVertex3d (0., y_min, zpTick);
                                          ^
/home/sebald/octave/octave/octave/libinterp/corefcn/gl-render.cc:1591:20: error: 'glEnd' was not declared in this scope
             glEnd ();
                    ^
make[2]: * [libinterp/corefcn/libinterp_corefcn_libcorefcn_la-gl-render.lo] Error 1
make[2]: Leaving directory `/usr/local/src/octave/octave/build1'
make[1]: * [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/octave/octave/build1'
make: * [install] Error 2
-verbatim-

Dan Sebald <sebald>

 

(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 mtmiller (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by sebald (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
    2016-11-08 rik5 StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code