Problem 1618 - Installation error, gluPickMatrix and gluLookAt not found
Summary: Installation error, gluPickMatrix and gluLookAt not found
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: visualization (show other problems)
Version: 10.0
Hardware: All Linux
: P5 major
Assignee: garnier
URL:
Depends on:
Blocks:
 
Reported: 2014-04-23 10:34 CEST by garnier
Modified: 2014-04-23 10:35 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description garnier 2014-04-23 10:34:02 CEST
Le 21 avr. 2014 à 17:41, Richard Holmes <rsholmes@physics.syr.edu> a écrit :

*** Discussion title: Installation and Configuration

Problem installing under CentOS 5. Looks like it's not finding MesaGL. I have mesa-libGLU and 
mesa-libGLU-devel installed, version 9.2 from repository RPMs:

$ ls /usr/lib64/libGL*
/usr/lib64/libGL.so  /usr/lib64/libGL.so.1  /usr/lib64/libGL.so.1.2.0  /usr/lib64/libGLU.so  
/usr/lib64/libGLU.so.1  /usr/lib64/libGLU.so.1.3.1
$ ls  /usr/include/GL/
glext.h  gl.h  gl_mangle.h  glu.h  glu_mangle.h  glxext.h  glx.h  glxint.h  glx_mangle.h  
glxmd.h  glxproto.h  glxtokens.h  internal

cmake output:

/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/geant4.10.00.p01-install -DGEANT4_USE_QT=ON -DGEANT4_INSTALL_DATA=ON /usr/local/geant4.10.00.p01
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.8.5 (using /usr/lib64/qt4/bin/qmake)
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Configuring download of missing dataset G4NDL (4.4)
-- Configuring download of missing dataset G4EMLOW (6.35)
-- Configuring download of missing dataset PhotonEvaporation (3.0)
-- Configuring download of missing dataset RadioactiveDecay (4.0)
-- Configuring download of missing dataset G4NEUTRONXS (1.4)
-- Configuring download of missing dataset G4PII (1.3)
-- Configuring download of missing dataset RealSurface (1.0)
-- Configuring download of missing dataset G4SAIDDATA (1.1)
-- Configuring download of missing dataset G4ABLA (3.0)
-- Configuring download of missing dataset G4ENSDFSTATE (1.0)
-- The following Geant4 features are enabled:
GEANT4_BUILD_CXXSTD: Compiling against C++ Standard 'c++98'
GEANT4_USE_SYSTEM_EXPAT: Using system EXPAT library
GEANT4_USE_QT: Build Geant4 with Qt support

-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/geant4.10.00.p01-build

make then works up to here:

Scanning dependencies of target G4OpenGL
[ 98%] Built target G4GMocren
[ 98%] Building CXX object source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLImmediateViewer.cc.o
[ 98%] Building CXX object source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLImmediateSceneHandler.cc.o
[ 98%] Building CXX object source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLViewer.cc.o
[ 98%] Building CXX object source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLStoredViewer.cc.o
In file included from /usr/local/geant4.10.00.p01/source/visualization/OpenGL/include/G4OpenGL.hh:72,
                from /usr/local/geant4.10.00.p01/source/visualization/OpenGL/include/G4OpenGLViewer.hh:39,
                from /usr/local/geant4.10.00.p01/source/visualization/OpenGL/src/G4OpenGLViewer.cc:37:
/usr/include/QtOpenGL/qgl.h: In static member function ‘static QString QGLWidget::tr(const char*, const char*)’:
/usr/include/QtOpenGL/qgl.h:476: warning: declaration of ‘s’ shadows a global declaration
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/SystemOfUnits.h:133: warning: shadowed declaration is here
/usr/include/QtOpenGL/qgl.h: In static member function ‘static QString QGLWidget::trUtf8(const char*, const char*)’:
/usr/include/QtOpenGL/qgl.h:476: warning: declaration of ‘s’ shadows a global declaration
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/SystemOfUnits.h:133: warning: shadowed declaration is here
/usr/include/QtOpenGL/qgl.h: In static member function ‘static QString QGLWidget::tr(const char*, const char*, int)’:
/usr/include/QtOpenGL/qgl.h:476: warning: declaration of ‘s’ shadows a global declaration
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/SystemOfUnits.h:133: warning: shadowed declaration is here
/usr/include/QtOpenGL/qgl.h: In static member function ‘static QString QGLWidget::trUtf8(const char*, const char*, int)’:
/usr/include/QtOpenGL/qgl.h:476: warning: declaration of ‘s’ shadows a global declaration
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/SystemOfUnits.h:133: warning: shadowed declaration is here
/usr/local/geant4.10.00.p01/source/visualization/OpenGL/src/G4OpenGLViewer.cc: In member function ‘virtual void G4OpenGLViewer::SetView()’:
/usr/local/geant4.10.00.p01/source/visualization/OpenGL/src/G4OpenGLViewer.cc:388: error: ‘gluLookAt’ was not declared in this scope
/usr/local/geant4.10.00.p01/source/visualization/OpenGL/src/G4OpenGLViewer.cc: In member function ‘void G4OpenGLViewer::Pick(GLdouble, GLdouble)’:
/usr/local/geant4.10.00.p01/source/visualization/OpenGL/src/G4OpenGLViewer.cc:519: error: ‘gluPickMatrix’ was not declared in this scope
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/PhysicalConstants.h: At global scope:
/usr/local/geant4.10.00.p01/source/externals/clhep/include/CLHEP/Units/PhysicalConstants.h:79: warning: ‘CLHEP::electron_charge’ defined but not used
make[2]: *** [source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLViewer.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [source/visualization/OpenGL/CMakeFiles/G4OpenGL.dir/all] Error 2
make: *** [all] Error 2

-------------------------------------------------------------
Visit this GEANT4 at hypernews.slac.stanford.edu message (to reply or unsubscribe) at: 
http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1638.html
Comment 1 garnier 2014-04-23 10:35:06 CEST
The fact is for a Linux user, compiling Geant4 with only Qt driver will failed because of missing glu.h.

See :

#ifdef  G4VIS_BUILD_OPENGLQT_DRIVER
  #ifndef G4VIS_BUILD_OPENGLX_DRIVER
    #ifdef __MACH__
//#  define G4OPENGL_VERSION_2 1
      #include <OpenGL/gl.h>
      #include <OpenGL/glu.h>
    #endif
    #include <qgl.h>
  #endif
#endif

Have to be fixed by :

#ifdef  G4VIS_BUILD_OPENGLQT_DRIVER
  #ifndef G4VIS_BUILD_OPENGLX_DRIVER
    #ifdef __MACH__
//#  define G4OPENGL_VERSION_2 1
      #include <OpenGL/gl.h>
      #include <OpenGL/glu.h>
    #else
      #include <GL/gl.h>
      #include <GL/glu.h>
    #endif
    #include <qgl.h>
  #endif
#endif

Cheers, 
Laurent