MFEM

Building MFEM

Serial version of MFEM and GLVis

Put everything in the same directory:

~> ls
glvis-3.4.tgz   mfem-3.4.tgz

Build the serial version of MFEM:

~> tar -zxvf mfem-3.4.tgz
~> cd mfem-3.4
~/mfem-3.4> make serial -j

Build GLVis:

~> tar -zxvf glvis-3.4.tgz
~> cd glvis-3.4
~/glvis-3.4> make MFEM_DIR=../mfem-3.4 -j

That's it! The MFEM library can be found in mfem-3.4/libmfem.a, while the glvis executable will be in the glvis-3.4 directory.

Note: as of version 4.0, GLVis has additional dependencies that need to be installed first, see its building documentation.

To start a GLVis server, open a new terminal and type

~> cd glvis-3.4
~/glvis-3.4> ./glvis

The serial examples can be build with:

~> cd mfem-3.4/examples
~/mfem-3.4/examples> make -j

All serial examples and mini_apps can be build with:

~> cd mfem-3.4
~/mfem-3.4> make all -j

但是在安装glvis过程中会出现各种各样的报错,还需要安装各种各样的库,

glvis需要安装库,见install,包括:

  • 安装OpenGL

    首先不可或缺的就是编译器与基本的函式库,如果系统没有安装的话,依照下面的方式安装:

    $ sudo apt-get install build-essential

    安装OpenGL Library

    $ sudo apt-get install libgl1-mesa-dev

    安装OpenGL Utilities

    $ sudo apt-get install libglu1-mesa-dev

    OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。

    安装OpenGL Utility Toolkit

    $ sudo apt-get install libglut-dev

    OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。

    注意:在这一步的时候,可能会出现以下情况,shell提示:

    Reading package lists... Done`
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libglut-dev

    将上述sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev即可。

  • PNG.h:

    sudo apt-get install libpng-dev

  • ft2build.h

    sudo apt-get install python-dev libfreetype6-dev

    问题又来了,configure未通过,提示Fontconfig未通过,于是进入/config.tests/x11/fontconfig目录,执行make,发现缺少freetype相关的头文件,首先保证freetype开发库已经安装:

    sudo apt-get install libfreetype6-dev

    安装后发现freetype头文件没在标准路径,于是

    ln -s /usr/include/freetype2/freetype/ /usr/include/freetype

    再次在这里make,还是出错,发现缺少fontconfig开发库,于是

    sudo apt-get install libfontconfig1-dev

将glvis makefile的121行左右(可以通过/查询)改为:GL_LIBS = -lX11 -lGL -lGLU

Ubuntu 18.04 ltd可用