Error building v6.14.08 on RedHat 7.6

ROOT Version: v6.14.08
Platform: RedHat7.6
Compiler: gcc8.3


I’m trying to build on a redhat7 system w/ gcc8.3.0, and cmake 3.15. Configuration is

cmake -Dcxx17=ON -Dx11=OFF  ../src

when building, I get this error:

In file included from /home/cleggett/root/src/graf3d/glew/src/glew.c:49:
/usr/include/GL/glxew.h:1659:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘glxewIsSupported’
 GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name);
                                ^~~~~~~~~~~~~~~~
/usr/include/GL/glxew.h:1663:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘glxewGetExtension’
 GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name);
                                ^~~~~~~~~~~~~~~~~

I have tried using both -Dbuiltin_glew=ON and -Dbuiltin_glew=OFF for cmake with the same result.

Any suggestions?

thanks, Charles.

Hi,

Can you post here please your configuration step (output during running cmake)?

Attached are the CMakeCache.txt, the output of the cmake step, and the output of the make.
cmake.log.txt (12.3 KB)
CMakeCache.txt (117.3 KB)
make.log.txt (662.7 KB)

cheers, Charles.

I think this is related to GLEWAPIENTRY not being defined / defined correctly.

if I manually #define GLEWAPIENTRY, it then dies when building libRGL.so with:

/soft/buildtools/cmake-3.13.3/bin/cmake -E cmake_link_script CMakeFiles/RGL.dir/link.txt --verbose=1
/home/cleggett/gnu/bin/g++ -fPIC  -Wno-implicit-fallthrough -Wno-noexcept-type -pipe -m64  -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread -std=c++1z -O3 -g -DNDEBUG  -Wl,--no-undefined -shared -Wl,-soname,libRGL.so -o ../../lib/libRGL.so CMakeFiles/RGL.dir/G__RGL.cxx.o CMakeFiles/RGL.dir/src/CsgOps.cxx.o CMakeFiles/RGL.dir/src/TArcBall.cxx.o CMakeFiles/RGL.dir/src/TF2GL.cxx.o CMakeFiles/RGL.dir/src/TGL5D.cxx.o CMakeFiles/RGL.dir/src/TGL5DDataSetEditor.cxx.o CMakeFiles/RGL.dir/src/TGL5DPainter.cxx.o CMakeFiles/RGL.dir/src/TGLAdapter.cxx.o CMakeFiles/RGL.dir/src/TGLAnnotation.cxx.o CMakeFiles/RGL.dir/src/TGLAutoRotator.cxx.o CMakeFiles/RGL.dir/src/TGLAxis.cxx.o CMakeFiles/RGL.dir/src/TGLAxisPainter.cxx.o CMakeFiles/RGL.dir/src/TGLBoundingBox.cxx.o CMakeFiles/RGL.dir/src/TGLBoxPainter.cxx.o CMakeFiles/RGL.dir/src/TGLCamera.cxx.o CMakeFiles/RGL.dir/src/TGLCameraGuide.cxx.o CMakeFiles/RGL.dir/src/TGLCameraOverlay.cxx.o CMakeFiles/RGL.dir/src/TGLClip.cxx.o CMakeFiles/RGL.dir/src/TGLClipSetEditor.cxx.o CMakeFiles/RGL.dir/src/TGLContext.cxx.o CMakeFiles/RGL.dir/src/TGLContextPrivate.cxx.o CMakeFiles/RGL.dir/src/TGLCylinder.cxx.o CMakeFiles/RGL.dir/src/TGLEmbeddedViewer.cxx.o CMakeFiles/RGL.dir/src/TGLEventHandler.cxx.o CMakeFiles/RGL.dir/src/TGLFBO.cxx.o CMakeFiles/RGL.dir/src/TGLFaceSet.cxx.o CMakeFiles/RGL.dir/src/TGLFontManager.cxx.o CMakeFiles/RGL.dir/src/TGLFormat.cxx.o CMakeFiles/RGL.dir/src/TGLH2PolyPainter.cxx.o CMakeFiles/RGL.dir/src/TGLHistPainter.cxx.o CMakeFiles/RGL.dir/src/TGLIsoMesh.cxx.o CMakeFiles/RGL.dir/src/TGLLegoPainter.cxx.o CMakeFiles/RGL.dir/src/TGLLightSet.cxx.o CMakeFiles/RGL.dir/src/TGLLightSetEditor.cxx.o CMakeFiles/RGL.dir/src/TGLLockable.cxx.o CMakeFiles/RGL.dir/src/TGLLogicalShape.cxx.o CMakeFiles/RGL.dir/src/TGLManip.cxx.o CMakeFiles/RGL.dir/src/TGLManipSet.cxx.o CMakeFiles/RGL.dir/src/TGLMarchingCubes.cxx.o CMakeFiles/RGL.dir/src/TGLObject.cxx.o CMakeFiles/RGL.dir/src/TGLOrthoCamera.cxx.o CMakeFiles/RGL.dir/src/TGLOutput.cxx.o CMakeFiles/RGL.dir/src/TGLOverlay.cxx.o CMakeFiles/RGL.dir/src/TGLOverlayButton.cxx.o CMakeFiles/RGL.dir/src/TGLPShapeObj.cxx.o CMakeFiles/RGL.dir/src/TGLPShapeObjEditor.cxx.o CMakeFiles/RGL.dir/src/TGLPShapeRef.cxx.o CMakeFiles/RGL.dir/src/TGLPadPainter.cxx.o CMakeFiles/RGL.dir/src/TGLPadUtils.cxx.o CMakeFiles/RGL.dir/src/TGLParametric.cxx.o CMakeFiles/RGL.dir/src/TGLParametricEquationGL.cxx.o CMakeFiles/RGL.dir/src/TGLPerspectiveCamera.cxx.o CMakeFiles/RGL.dir/src/TGLPhysicalShape.cxx.o CMakeFiles/RGL.dir/src/TGLPlot3D.cxx.o CMakeFiles/RGL.dir/src/TGLPlotBox.cxx.o CMakeFiles/RGL.dir/src/TGLPlotCamera.cxx.o CMakeFiles/RGL.dir/src/TGLPlotPainter.cxx.o CMakeFiles/RGL.dir/src/TGLPolyLine.cxx.o CMakeFiles/RGL.dir/src/TGLPolyMarker.cxx.o CMakeFiles/RGL.dir/src/TGLQuadric.cxx.o CMakeFiles/RGL.dir/src/TGLRnrCtx.cxx.o CMakeFiles/RGL.dir/src/TGLRotateManip.cxx.o CMakeFiles/RGL.dir/src/TGLSAFrame.cxx.o CMakeFiles/RGL.dir/src/TGLSAViewer.cxx.o CMakeFiles/RGL.dir/src/TGLScaleManip.cxx.o CMakeFiles/RGL.dir/src/TGLScene.cxx.o CMakeFiles/RGL.dir/src/TGLSceneBase.cxx.o CMakeFiles/RGL.dir/src/TGLSceneInfo.cxx.o CMakeFiles/RGL.dir/src/TGLScenePad.cxx.o CMakeFiles/RGL.dir/src/TGLSelectBuffer.cxx.o CMakeFiles/RGL.dir/src/TGLSelectRecord.cxx.o CMakeFiles/RGL.dir/src/TGLSphere.cxx.o CMakeFiles/RGL.dir/src/TGLStopwatch.cxx.o CMakeFiles/RGL.dir/src/TGLSurfacePainter.cxx.o CMakeFiles/RGL.dir/src/TGLTF3Painter.cxx.o CMakeFiles/RGL.dir/src/TGLTH3Composition.cxx.o CMakeFiles/RGL.dir/src/TGLText.cxx.o CMakeFiles/RGL.dir/src/TGLTransManip.cxx.o CMakeFiles/RGL.dir/src/TGLUtil.cxx.o CMakeFiles/RGL.dir/src/TGLViewer.cxx.o CMakeFiles/RGL.dir/src/TGLViewerBase.cxx.o CMakeFiles/RGL.dir/src/TGLViewerEditor.cxx.o CMakeFiles/RGL.dir/src/TGLVoxelPainter.cxx.o CMakeFiles/RGL.dir/src/TGLWidget.cxx.o CMakeFiles/RGL.dir/src/TH2GL.cxx.o CMakeFiles/RGL.dir/src/TH3GL.cxx.o CMakeFiles/RGL.dir/src/TKDEAdapter.cxx.o CMakeFiles/RGL.dir/src/TKDEFGT.cxx.o CMakeFiles/RGL.dir/src/TPointSet3DGL.cxx.o CMakeFiles/RGL.dir/src/TX11GL.cxx.o CMakeFiles/RGL.dir/src/gl2ps.cxx.o -Wl,-rpath,/home/cleggett/root/bld_6.14.08_gcc8.3_noX11_withGL/lib: /usr/lib64/libGL.so /usr/lib64/libGLU.so ../../lib/libGLEW.so ../../lib/libFTGL.so ../../lib/libGed.so ../../lib/libGui.so ../../lib/libTreePlayer.so ../../lib/libTree.so ../../lib/libGraf3d.so ../../lib/libGpad.so ../../lib/libGraf.so ../../lib/libHist.so ../../lib/libMatrix.so ../../lib/libMathCore.so ../../lib/libImt.so ../../lib/libMultiProc.so ../../lib/libNet.so ../../lib/libRIO.so ../../lib/libThread.so ../../lib/libCore.so 
CMakeFiles/RGL.dir/src/TGLFormat.cxx.o: In function `TGLFormat::InitAvailableSamples()':
/home/cleggett/root/src/graf3d/gl/src/TGLFormat.cxx:286: undefined reference to `XGetVisualInfo'
/home/cleggett/root/src/graf3d/gl/src/TGLFormat.cxx:295: undefined reference to `XFree'
CMakeFiles/RGL.dir/src/TGLWidget.cxx.o: In function `TGLWidget::CreateWindow(TGWindow const*, TGLFormat const&, unsigned int, unsigned int, std::pair<void*, void*>&)':
/home/cleggett/root/src/graf3d/gl/src/TGLWidget.cxx:523: undefined reference to `XCreateColormap'
/home/cleggett/root/src/graf3d/gl/src/TGLWidget.cxx:530: undefined reference to `XCreateWindow'
CMakeFiles/RGL.dir/src/TGLWidget.cxx.o: In function `TGLWidget::~TGLWidget()':
/home/cleggett/root/src/graf3d/gl/src/TGLWidget.cxx:168: undefined reference to `XFree'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `TX11GLManager::DeleteGLContext(int)':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:501: undefined reference to `XFreeGC'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:503: undefined reference to `XFreeGC'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `TX11GLManager::Flush(int)':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:313: undefined reference to `XCopyArea'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:305: undefined reference to `XCreateGC'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `TX11GLManager::ReadGLBuffer(int)':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:473: undefined reference to `XPutImage'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:462: undefined reference to `XCreateGC'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `TX11GLManager::InitGLWindow(unsigned long)':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:218: undefined reference to `XGetGeometry'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:221: undefined reference to `XCreateColormap'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:229: undefined reference to `XCreateWindow'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:237: undefined reference to `XMapWindow'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `TX11GLManager::CreateGLPixmap(TX11GLManager::TGLContext_t&)':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:324: undefined reference to `XCreatePixmap'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:336: undefined reference to `XCreateImage'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:347: undefined reference to `XInitImage'
CMakeFiles/RGL.dir/src/TX11GL.cxx.o: In function `~TX11PixGuard':
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:74: undefined reference to `XFreePixmap'
/home/cleggett/root/src/graf3d/gl/src/TX11GL.cxx:74: undefined reference to `XFreePixmap'
collect2: error: ld returned 1 exit status

Can you try to build with -Dopengl=OFF?

well, yes, it builds fine when I don’t build the bits of code that cause build problems… that sidesteps the problem, doesn’t it?

Hi,
For next ROOT configuration with C++17:

-- Enabled support for:  builtin_clang builtin_llvm builtin_lz4 builtin_xxhash clad dataframe davix exceptions fftw3 fitsio gdml gfal http imt mathmore mlp mysql opengl oracle pythia6 pythia8 python roofit webgui root7 shared sqlite ssl tmva tmva-cpu tmva-pymva spectrum vdt xml xrootd

I tried to reproduce the failure on Centos7 (~RHEL) machine but I get different failure:

[ 63%] Linking CXX shared library ../../lib/libRGL.so
CMakeFiles/RGL.dir/src/TGLFormat.cxx.o: In function `TGLFormat::InitAvailableSamples()':
TGLFormat.cxx:(.text+0x35f): undefined reference to `XGetVisualInfo'
TGLFormat.cxx:(.text+0x486): undefined reference to `XFree'
CMakeFiles/RGL.dir/src/TGLWidget.cxx.o: In function `TGLWidget::CreateWindow(TGWindow const*, TGLFormat const&, unsigned int, unsigned int, std::pair<void*, void*>&)':
TGLWidget.cxx:(.text+0xdbc): undefined reference to `XCreateColormap'
TGLWidget.cxx:(.text+0xe14): undefined reference to `XCreateWindow'
CMakeFiles/RGL.dir/src/TGLWidget.cxx.o: In function `TGLWidget::~TGLWidget()':
TGLWidget.cxx:(.text+0x199b): undefined reference to `XFree'
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libRGL.so] Error 1
make[1]: *** [graf3d/gl/CMakeFiles/RGL.dir/all] Error 2
make: *** [all] Error 2

, which means that x11 should be enabled in this case (looks like there is some issue with dependencies and I will add a relevant JIRA issue).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.