|
From: Scott G. <sc...@gm...> - 2025-08-18 20:54:07
|
I've seen this before. You're trying to use BUILD_OSG_APPLICATIONS and/or BUILD_OSG_EXAMPLES. Don't do this when using the Flightgear OSG version. Root Cause: OSG assumes libGL when building Applications or Examples. Flightgear doesn't require either of these from OSG. Do a clean rebuild without OSG Applications and without OSG Examples and the problem should go away. Scott On 8/17/25 11:36, bo23--- via Flightgear-devel wrote: > When trying to build stable with the download_and_compile.sh script, the > build fails with the error attached at the end. I figured out that this > happens since OSG commit 89ff2847, where the CMake version was bumped to > 3.12. Upon changing the required version to 3.10, it builds fine again. > > > diff --git a/CMakeLists.txt b/CMakeLists.txt > index 9b9219edc..7f4d35284 100644 > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > @@ -14,7 +14,7 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) > set_property(GLOBAL PROPERTY USE_FOLDERS ON) > > > -CMAKE_MINIMUM_REQUIRED(VERSION 3.12 FATAL_ERROR) > +CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR) > > if(COMMAND cmake_policy) > # Works around warnings libraries linked against that don't > > > I cannot assess if version 3.12 is required for OSG or the FlightGear > project in its entirety, but these were the versions I tested: > 2.8.0 works (from before the above mentioned commit) > 3.10 works > 3.11 doesn't work > 3.12 doesn't work > > > System Info: > > Debian GNU/Linux 13.0 > cmake version 3.31.6 > > CARES 4c8820a6 origin/v1.34 https://github.com/c-ares/c-ares.git > DATA e737992f4 origin/release/2024.1 https://gitlab.com/flightgear/fgdata.git > FGFS 4a98505ac origin/release/2024.1 https://gitlab.com/flightgear/flightgear.git > OSG a4ea8ec53 origin/release/2024-build https://gitlab.com/flightgear/openscenegraph.git > PLIB 2052276 origin/master https://git.code.sf.net/p/libplib/code > SIMGEAR 72aa5836 origin/release/2024.1 https://gitlab.com/flightgear/simgear.git > > > Error Log: > > Linking CXX executable ../../bin/osgviewer > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDrawArrays' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glCallList' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glPointSize' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexParameteriv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glFrontFace' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLightModeli' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetBooleanv' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glColorMask' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glAlphaFunc' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLightf' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glClear' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glDisable' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glViewport' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXDestroyPbuffer' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXGetFBConfigAttrib' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glFogf' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetLightfv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexImage2D' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColor4fv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColor3fv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glClipPlane' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glClearAccum' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glReadPixels' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColor4ubv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetTexImage' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glPixelStorei' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetError' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glDepthMask' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDisableClientState' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexParameterf' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetString' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColorMaterial' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glEnableClientState' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDepthFunc' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXDestroyContext' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetTexLevelParameteriv' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXGetProcAddress' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glBlendFunc' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXMakeCurrent' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDrawPixels' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glReadBuffer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glPolygonMode' > /usr/bin/ld: ../../lib/libosgText.so.3.6.5: undefined reference to `glNormal3f' > /usr/bin/ld: ../../lib/libosgText.so.3.6.5: undefined reference to `glColor4f' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glRasterPos3f' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glNormal3bv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glCopyTexImage2D' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glScissor' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glEnable' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glCopyTexSubImage1D' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glStencilMask' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGetIntegerv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glHint' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glFogi' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glMaterialf' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDrawElements' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glStencilFunc' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColorPointer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glVertexPointer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexEnvi' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLoadMatrixd' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glClearDepth' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLineStipple' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glStencilOp' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXCreateContext' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glBindTexture' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glLoadIdentity' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glCullFace' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glNormal3sv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glCopyTexImage1D' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXCreatePbuffer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDeleteTextures' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexParameteri' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexEnvf' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glMatrixMode' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXQueryExtensionsString' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXChooseFBConfig' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGenTextures' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXGetFBConfigs' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXQueryVersion' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXGetVisualFromFBConfig' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glNewList' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDrawBuffer' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glFlush' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXChooseVisual' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glNormal3dv' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glClearColor' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexGendv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexImage1D' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glCopyTexSubImage2D' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexParameterfv' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glPolygonStipple' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glScalef' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glGenLists' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXQueryExtension' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glNormal3fv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glPolygonOffset' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glRecti' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glShadeModel' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexSubImage2D' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glNormalPointer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDepthRange' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColor4dv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glFogfv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glColor3dv' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glEndList' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLightfv' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXQueryDrawable' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLineWidth' > /usr/bin/ld: ../../lib/libosgViewer.so.3.6.5: undefined reference to `glXSwapBuffers' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glOrtho' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLightModelfv' > /usr/bin/ld: ../../lib/libosgUtil.so.3.6.5: undefined reference to `glClearStencil' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glInterleavedArrays' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexGeni' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexEnvfv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glMaterialfv' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glTexCoordPointer' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glLogicOp' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glFinish' > /usr/bin/ld: ../../lib/libosg.so.3.6.5: undefined reference to `glDeleteLists' > collect2: error: ld returned 1 exit status > gmake[2]: *** [applications/osgviewer/CMakeFiles/application_osgviewer.dir/build.make:115: bin/osgviewer] Error 1 > gmake[1]: *** [CMakeFiles/Makefile2:2263: applications/osgviewer/CMakeFiles/application_osgviewer.dir/all] Error 2 > gmake: *** [Makefile:136: all] Error 2 > download_and_compile.sh: aborting because 'cmake --build' failed in > '/home/user/.flightgear/stable/build/openscenegraph' (exit status 2). > > > _______________________________________________ > Flightgear-devel mailing list > Fli...@li... > https://lists.sourceforge.net/lists/listinfo/flightgear-devel |