|Message: Re: G4 OpenGL module compilation broken on Linux||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
I think I figured out what is going wrong here. It seems to be some kind of minor inconsistency in the build system.
When you define this CMake variable then the G4OpenGL module compiles fine...
GEANT4_USE_OPENGL_X11 (DEFAULT : OFF, Unix Only)
However, if this definition is left out of the cmake command line the G4OpenGL module will fail to compile.
This is because of the following macro definitions in G4OpenGL.hh
#ifdef G4VIS_BUILD_OPENGLX_DRIVER # include <GL/gl.h> #endif
#ifdef G4VIS_BUILD_OPENGLXM_DRIVER # include <GL/gl.h> #endif
With no CMake command line argument it looks like G4VIS_BUILD_OPENGL_DRIVER is defined but then neither G4VIS_BUILD_OPENGLX_DRIVER or G4VIS_BUILD_OPENGLXM_DRIVER are set. This means that 'GL/gl.h' is never included here, and so subsequent compilation steps in the module will fail when they use definitions from that standard header.
So I think what needs to be done in the build system is that 'GL/gl.h' should be included when building the driver, and the second macro checks shouldn't be necessary (I don't believe GL/gl.h has anything to do with X Windows unless I'm mistaken).
Or the entire G4OpenGL module should just be disabled here.
As it is currently setup, there is an error in the build when no CMake flags are given on the command line due to this problem.