使用MESA使用屏幕外渲染来编译绘图片

Error compiling Paraview with off-screen rendering with Mesa

本文关键字:编译 绘图 MESA 屏幕 使用      更新时间:2023-10-16

我正在尝试在opensuse上编译paraview-4.4,以作为带有屏幕外渲染支持的服务器运行。由于我没有图形硬件,因此我想将MESA用于图形。

我遵循此页面上的说明。

使用Mesa-7.7 i配置Mesa,

./configure --with-driver=xlib --enable-osmesa --prefix={MESA_INSTALL_PREFIX}

编译台面后,我尝试编译paraview,但要遵循以下错误,

[ 11%] Linking CXX shared library ../../../lib/libvtkftgl-pv4.4.so
CMakeFiles/vtkftgl.dir/src/FTBitmapGlyphRenderOpenGL.cpp.o: In function `ftgl::FTBitmapGlyph::RenderOpenGL(FT_Vector_ const&, FTGLRenderContext const*)':
FTBitmapGlyphRenderOpenGL.cpp:(.text+0x33): undefined reference to `glBitmap'
FTBitmapGlyphRenderOpenGL.cpp:(.text+0x4e): undefined reference to `glBitmap'
FTBitmapGlyphRenderOpenGL.cpp:(.text+0x84): undefined reference to `glBitmap'
CMakeFiles/vtkftgl.dir/src/FTGLBitmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLBitmapFont::RenderOpenGL(wchar_t const*, FTGLRenderContext const*)':
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x22): undefined reference to `glPushClientAttrib'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x2c): undefined reference to `glPushAttrib'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x38): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x44): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x53): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x5d): undefined reference to `glDisable'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x70): undefined reference to `glPopAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLBitmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLBitmapFont::RenderOpenGL(char const*, FTGLRenderContext const*)':
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xb2): undefined reference to `glPushClientAttrib'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xbc): undefined reference to `glPushAttrib'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xc8): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xd4): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xe3): undefined reference to `glPixelStorei'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0xed): undefined reference to `glDisable'
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x100): undefined reference to `glPopAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLBitmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLBitmapFont::RenderOpenGL(wchar_t const*, FTGLRenderContext const*)':
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x87): undefined reference to `glPopClientAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLBitmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLBitmapFont::RenderOpenGL(char const*, FTGLRenderContext const*)':
FTGLBitmapFontRenderOpenGL.cpp:(.text+0x117): undefined reference to `glPopClientAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLPixmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLPixmapFont::RenderOpenGL(wchar_t const*, FTGLRenderContext const*)':
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x22): undefined reference to `glPushClientAttrib'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x2c): undefined reference to `glPushAttrib'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x38): undefined reference to `glPixelStorei'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x42): undefined reference to `glEnable'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x51): undefined reference to `glBlendFunc'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x5b): undefined reference to `glDisable'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x6e): undefined reference to `glPopAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLPixmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLPixmapFont::RenderOpenGL(char const*, FTGLRenderContext const*)':
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xb2): undefined reference to `glPushClientAttrib'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xbc): undefined reference to `glPushAttrib'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xc8): undefined reference to `glPixelStorei'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xd2): undefined reference to `glEnable'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xe1): undefined reference to `glBlendFunc'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xeb): undefined reference to `glDisable'
FTGLPixmapFontRenderOpenGL.cpp:(.text+0xfe): undefined reference to `glPopAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLPixmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLPixmapFont::RenderOpenGL(wchar_t const*, FTGLRenderContext const*)':
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x85): undefined reference to `glPopClientAttrib'
CMakeFiles/vtkftgl.dir/src/FTGLPixmapFontRenderOpenGL.cpp.o: In function `ftgl::FTGLPixmapFont::RenderOpenGL(char const*, FTGLRenderContext const*)':
FTGLPixmapFontRenderOpenGL.cpp:(.text+0x115): undefined reference to `glPopClientAttrib'
CMakeFiles/vtkftgl.dir/src/FTPixmapGlyphRenderOpenGL.cpp.o: In function `ftgl::FTPixmapGlyph::RenderOpenGL(FT_Vector_ const&, FTGLRenderContext const*)':
FTPixmapGlyphRenderOpenGL.cpp:(.text+0x33): undefined reference to `glBitmap'
FTPixmapGlyphRenderOpenGL.cpp:(.text+0x4c): undefined reference to `glDrawPixels'
FTPixmapGlyphRenderOpenGL.cpp:(.text+0x82): undefined reference to `glBitmap'
CMakeFiles/vtkftgl.dir/src/FTPixmapGlyphRenderOpenGL.cpp.o: In function `ftgl::FTPixmapGlyph::GetCurrentColorOpenGL(float*, FTGLRenderContext const*)':
FTPixmapGlyphRenderOpenGL.cpp:(.text+0x96): undefined reference to `glGetFloatv'
collect2: ld returned 1 exit status
make[2]: *** [lib/libvtkftgl-pv4.4.so.1] Error 1
make[1]: *** [VTK/ThirdParty/ftgl/CMakeFiles/vtkftgl.dir/all] Error 2
make: *** [all] Error 2

您能帮我解决这个问题吗?

检查您是否链接OpenGL库。还检查库链接订单。