使用Mesa进行离屏渲染编译Paraview时出错

时间:2016-12-19 05:50:44

标签: c++ opengl linker paraview mesa

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

我按照page.

的说明进行操作

使用Mesa-7.7我配置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

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

1 个答案:

答案 0 :(得分:0)

检查是否链接OpenGL库。检查库链接顺序。

相关问题