Print

Print


Sounds good, drivers are a nightmare.

Wayne

On Tue, 18 Oct 2005, Cameron Mackenzie wrote:

> I've tracked down the problem - nothing to do with the analysis code,
> but a compilation error when using the ATI driver for rendering. I've
> now updated the driver and OpenGL is working fine. The upgrade to
> python2.4 also makes a noticeable performance difference.
> Thanks,
> Cameron
>
> Wayne Boucher wrote:
>
> >Hello,
> >
> >Near the top of new_gl_handler() the (release) code says:
> >
> >#ifdef NEED_GLUT_INIT
> >    int argc = 0;
> >    char *argv = NULL;
> >#endif
> >
> >and that could become (while we're trying to figure out why the
> >compilation doesn't seem to be doing what it should be):
> >
> >    int argc = 0;
> >    char *argv = NULL;
> >
> >and in the first_pass if block the (release) code says:
> >
> >    if (first_pass)
> >    {
> >        first_pass = CCPN_FALSE;
> >        printf("GL_VENDOR = %s\n", glGetString(GL_VENDOR));
> >        printf("GL_RENDERER = %s\n", glGetString(GL_RENDERER));
> >        printf("GL_VERSION = %s\n", glGetString(GL_VERSION));
> >/*
> >        printf("GL_EXTENSIONS = %s\n", glGetString(GL_EXTENSIONS));
> >*/
> >#ifdef NEED_GLUT_INIT
> >        glutInit(&argc, &argv);
> >#endif
> >    }
> >
> >and that could become:
> >
> >    if (first_pass)
> >    {
> >        first_pass = CCPN_FALSE;
> >        printf("GL_VENDOR = %s\n", glGetString(GL_VENDOR));
> >        printf("GL_RENDERER = %s\n", glGetString(GL_RENDERER));
> >        printf("GL_VERSION = %s\n", glGetString(GL_VERSION));
> >/*
> >        printf("GL_EXTENSIONS = %s\n", glGetString(GL_EXTENSIONS));
> >*/
> >        glutInit(&argc, &argv);
> >    }
> >
> >Wayne
> >
> >PS: Tim and I are off to Sweden in about an hour and not coming back until
> >late Wednesday, and we might not see our email that much while we're
> >there.
> >
> >On Mon, 17 Oct 2005, Cameron Mackenzie wrote:
> >
> >
> >
> >>Putting those extra two lines allowed me to compile and run analysis
> >>with glutInit in draw_text_gl_handler. Analysis still ctrashes when
> >>trying to open the graphics and I don't see the printf statement displayed.
> >>When compiling, I have:
> >>
> >>
> >>cc -c -DUSE_GL_TRUE -DNEED_GLUT_INIT
> >>-I/usr/local/ccpnmr/python2.4/include/pyth
> >>on2.4 -I/usr/X11R6/include -I/usr/include -I/usr/include -I/usr/include
> >>-O gl_h
> >>andler.c
> >>(-DUSE_GL_TRUE worked on previous releases where FALSE did not).
> >>
> >>When trying to remove the #ifdef and #endif statements, I'm getting
> >>compilation errors. Probably removing the wrong one - could you copy the
> >>piece of code in to make sure I'm on the right tracks?
> >>
> >>Thanks,
> >>Cameron
> >>
> >>
> >>Wayne Boucher wrote:
> >>
> >>
> >>
> >>>Whoops, you need the extra two lines:
> >>>
> >>>   int argc = 0;
> >>>   char *argv = NULL;
> >>>
> >>>But the fact that the printf statement in new_gl_handler() did not print
> >>>its message tells me that the compilation did not work.  Which is odd.
> >>>You could try removing the two #ifdef / #endif lines in new_gl_handler()
> >>>(so remove four lines in total) and see if that works (again, compile in
> >>>the directory "ccpnmr1.0/c"), although that's not supposed to make any
> >>>difference (given that NEED_GLUT_INIT should be defined on the
> >>>compilation line).  I'd far prefer to see this glutInit code
> >>>in new_gl_handler() than in draw_text_gl_handler().  When you do the
> >>>compilation can you check that you have (it will probably be first)
> >>>something like:
> >>>
> >>>cc -c  -DUSE_GL_FALSE -DNEED_GLUT_INIT -I/sw/include/python2.4
> >>>-I/usr/X11R6/include -I/sw/include -I/sw/include  -O gl_handler.c
> >>>
> >>>in the compilation messages (the -I flags will be different for you)
> >>>
> >>>Wayne
> >>>
> >>>On Mon, 17 Oct 2005, Cameron Mackenzie wrote:
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>>Tried putting in the printf statement in new_gl_handler but it didn't
> >>>>appear when I ran analysis (or when it crashed).
> >>>>
> >>>>Also tried putting the bit of code in draw_text_gl_handler but I got a
> >>>>compilation error:
> >>>>
> >>>>gl_handler.c:947: error: `argc' undeclared (first use in this function)
> >>>>gl_handler.c:947: error: (Each undeclared identifier is reported only once
> >>>>gl_handler.c:947: error: for each function it appears in.)
> >>>>gl_handler.c:947: error: `argv' undeclared (first use in this function)
> >>>>
> >>>>
> >>>>Cameron
> >>>>
> >>>>
> >>>>Wayne Boucher wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Hello,
> >>>>>
> >>>>>This sounds like the freeglut problem we were having a discussion about a
> >>>>>month or two ago.  So for you I'm pretty sure that you should have
> >>>>>
> >>>>>GLUT_FLAG = -DNEED_GLUT_INIT
> >>>>>
> >>>>>and GL_FLAG should probably be whatever you used to have.  So to check
> >>>>>what is going on (we don't have freeglut here so not easy for us to check)
> >>>>>the first thing we should try is to make sure it is actually calling the
> >>>>>glutInit() routine.  So in ccpnmr1.0/c/memops/global/gl_handler.c find the
> >>>>>line which calls glutInit and put a
> >>>>>
> >>>>>printf("about to call glutInit\n"); /* temporary line */
> >>>>>
> >>>>>above it and then do a "make" (in ccpnmr1.0/c, so that all directories get
> >>>>>re-compiled and re-linked correctly).  Now if that message appears on the
> >>>>>screen when you run the program then the problem is probably that the
> >>>>>glutInit isn't happy being called in the new_gl_handler() (although I
> >>>>>thought we had checked before it was).  (And morally, this is where it
> >>>>>belongs.)  So the alternative is to put it in draw_text_gl_handler().
> >>>>>You would need to add there, after the line
> >>>>>
> >>>>>  static void *font = GLUT_BITMAP_HELVETICA_10;
> >>>>>
> >>>>>the following code:
> >>>>>
> >>>>>#ifdef NEED_GLUT_INIT
> >>>>>  static Bool first_pass = CCPN_TRUE;
> >>>>>
> >>>>>  printf("about to call glutInit\n"); /* temporary line */
> >>>>>
> >>>>>  if (first_pass)
> >>>>>  {
> >>>>>      first_pass = CCPN_FALSE;
> >>>>>      glutInit(&argc, &argv);
> >>>>>  }
> >>>>>#endif
> >>>>>
> >>>>>and comment out the other glutInit call.
> >>>>>
> >>>>>If that works then we'll have to go back to that alternative in the next
> >>>>>release (although I think it's dreadful).
> >>>>>
> >>>>>Wayne
> >>>>>
> >>>>>On Mon, 17 Oct 2005, Cameron Mackenzie wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>On the latest release, I can't get OpenGL working. Analysis crashes out with
> >>>>>>a X BadMatch error from a X_GLXMakeCurrent command.
> >>>>>>
> >>>>>>I'm using ATI fglrx 8.16.20 for rendering and freeglut 2.2.0-82.
> >>>>>>
> >>>>>>Have tried compiling with all combinations of "GL_FLAG =" and "GLUT_FLAG ="
> >>>>>>but they all cause a crash.
> >>>>>>
> >>>>>>Tk works OK.
> >>>>>>
> >>>>>>Cameron
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >>>
> >
> >
> >
> >
>