Sounds good, except for the blank canvas.
I've tried adding some glFlush commands in since release 11. But I don't
know if they do any good. I've actually added them in the Python world,
calling down to the C world. There have been quite a few changes to the
relevant Python code apart from this so I would just say that in
python/ccpnmr/analysis/WindowPopup.py I've added:
canvas.handler.flush()
after both lines
self.doCanvas(canvas.handler, canvas, row, col)
in the function drawCanvasReal() and I've added:
slice.handler.flush()
after
self.drawViewSlice(slice, view)
in the function doSlice(). The C code has not changed much otherwise
(another thing I did is to remove the incessant reporting of GL_RENDERER,
etc.). So I'll send you a tar file of that (I'm not including it here
because Jiscmail might bounce it). I suspect the odds are this won't help
but you never know.
The reason I'm worried is that I wouldn't have thought you would need a
flush() in order to get a non-null GL_RENDERER result. (And I haven't
added any flushes there.)
With the Mac OSX compilation we've needed to re-arrange when the GL
handlers are set up in the first place, otherwise the X server crashed
instantly (it used to be that they were set up in the widget constructor,
now they are set up after the fact when they are needed the first time.
If I remember correctly before we did this change for the Mac we were also
getting a null result for the GL_RENDERER, etc. So maybe this is the same
problem here (but handled more gracefully than with the Mac, i.e. at least
it did not crash your X server).
This change is not in release 11. So if the flushes do not solve your
problem then we'll get out a release 12 ASAP.
Wayne
On Wed, 2 Jun 2004, Brian Smith wrote:
> I have succeeded in compiling analysis for LINUX on AMD64 here's how:
>
> Downloaded and installed freeglut 2.2.0 (glut is dropped in RHEL and Fedora
> due to licencing issues) http://freeglut.sourceforge.net/ in default
> location (/usr/local/). Added /usr/local/lib to /etc/ld.so.conf and ran
> ldconfig so that the freeglut libraries would be picked up by default. This
> seemed to get the glut headers picked up from /usr/local/include without any
> further effort also.
>
> Skipped to section 5 of the compiling by hand instructions in the analysis
> INSTALL file. Set environment.txt to use the installed versions of X, GL,
> python, tcl, tk & tkinter (this last wasn't installed by default but there's
> an rpm for it in the distribution). This would be the equivalent of saying
> 'n,n,/usr' for each package in the install script except that you have to
> tell it to use the lib64 the way RHEL has it set up.
>
> Note the additional flags to the compiler in the CC definition.
>
> Everything then seems to compile fine.
>
> # the C compiler
> CC = cc -m64 -fPIC
> CFLAGS = -O
> # if do not have malloc.h use below for CFLAGS
> #CFLAGS = -O -DDO_NOT_HAVE_MALLOC
>
> # shared library
> # for Linux
> SHARED_FLAGS = -shared
> # for Mac
> #SHARED_FLAGS = -L/sw/lib -bundle -bundle_loader /sw/bin/python
>
> # math
> MATH_LIB = -lm
>
> # X11
> X11_DIR = /usr/X11R6
> X11_LIB = -lX11 -lXext
> X11_INCLUDE_FLAGS = -I$(X11_DIR)/include
> X11_LIB_FLAGS = -L$(X11_DIR)/lib64
> # On SGI need:
> #X11_LIB_FLAGS = -L$(X11_DIR)/lib32
>
> # Tcl
> TCL_DIR = /usr
> TCL_LIB = -ltcl8.3
> TCL_INCLUDE_FLAGS = -I$(TCL_DIR)/include
> TCL_LIB_FLAGS = -L$(TCL_DIR)/lib64
>
> # Tk
> TK_DIR = /usr
> TK_LIB = -ltk8.3
> TK_INCLUDE_FLAGS = -I$(TK_DIR)/include
> TK_LIB_FLAGS = -L$(TK_DIR)/lib64
>
> # Python
> PYTHON_DIR = /usr
> PYTHON_INCLUDE_FLAGS = -I$(PYTHON_DIR)/include/python2.2
>
> # GL
> GL_DIR = /usr
> GL_LIB = -lglut -lGLU -lGL
> GL_INCLUDE_FLAGS = -I$(GL_DIR)/include
> GL_LIB_FLAGS = -L$(GL_DIR)/lib64
> # On SGI need:
> #GL_LIB_FLAGS = -L$(GL_DIR)/lib32
>
>
> analysis then runs fine, but I still have the blank canvas problem under the
> NVidia accelerated driver that we've all seen before! The GL_RENDERER &
> GL_VERSION calls don't seem to be happy:
>
> analysis tutorial.xml
> CCPNMR Analysis Version 1.0.b Release 11 (Copyright 2003-2004 CCPN)
> Distribution created Wed Jun 2 10:34:23 2004
> >>> Spectrum successfully opened
> GL_VENDOR = (null)
> GL_RENDERER = (null)
>
> gonna try adding some gl_flush() commands somwhere!
>
> Brian
>
|