leggett
September 18, 2019, 6:05pm
1
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)?
leggett
September 19, 2019, 2:19pm
3
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.
leggett
September 19, 2019, 3:51pm
4
I think this is related to GLEWAPIENTRY not being defined / defined correctly.
leggett
September 19, 2019, 3:58pm
5
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?
leggett
September 20, 2019, 6:48pm
7
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).
system
Closed
October 8, 2019, 3:29pm
9
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.