在Ubuntu18.04上编译salome

在Ubuntu18.04版本上编译salome, 记录过程如下:

下载 salome

下载地址:https://www.salome-platform.org/downloads/current-version

选择 Linux Ubuntu 18.04 64-bits版本, 软件包内不仅包含了开箱即用的salome版本(BINARIES-UB18.04文件夹内), 还包含所有的源代码(ARCHIVES文件夹内), 以及sat工具包(salomeTools文件夹内). 详细内容可查看根目录下的readme文件.

安装OPENGL请参考https://www.jianshu.com/p/f34fea694300?utm_source=oschina-app

安装libgfortran4:

$sudo apt-get install libgfortran4:amd64

解压, 在解压目录里运行./salome即可启动开箱即用的salome

sat工具包

sat是salome工具包, 可以用于准备, 编译, 测试等等

The SalomeTools (sat) is a suite of commands that can be used to perform operations on SALOME 1 .
For example, sat allows you to compile SALOME’s codes (prerequisites, products) create application, run tests,create package, etc.

相关说明可以查看SALOME-xx/salometools目录下的pdf文件夹里的pdf说明(以上引用出自该文档)

运行./sat命令时, 可能会出现Command 'python' not found错误, 系统本身已经默认安装了python3.6, 需要创建一个软连接,操作如下:

$cd /usr/bin
$sudo ln -s python3.6 python

–help or -h
Get help as simple text.
sat --help # get the list of existing commands
sat --help compile # get the help on a specific command 'compile'

–debug or -g
Execution in debug mode allows to see more trace and stack if an exception is raised.
–verbose or -v
Change verbosity level (default is 3).
# for product 'SALOME_xx' for example
# execute compile command in debug mode with trace level 4
sat -g -v 4 compile SALOME_xx

Use sat -t to duplicate the logs in the terminal (by default the log are stored and displayed with sat log
command):
sat -t compile --products

salome安装

$./sat prepare SALOME-9.3.0 #准备安装包,将ARCHIVES文件下的压缩包解压至SOURCES目录下
$./sat compile SALOME-9.3.0 --stop_first_fail #编译安装salome. Stop the compilation as soon as the compilation of a module fails

如果那个安装包未安装成功单独运行

$./sat -t -v 4 compile SALOME-9.3.0 --product 

在输出中查看问题出在哪里, 多数原因是缺少必要的依赖包.

可以apt-file工具, 该软件可以查找所需的文件在哪个软件包中, 详情查看下边连接
https://www.jianshu.com/p/9fd19418cf83
也可从下方网站搜索缺失的文件属于那个安装包
https://packages.ubuntu.com/search?suite=xenial§ion=all&arch=any&keywords=libTKService.so&searchon=contents

例如使用如下命令搜索libTKService.so

$sudo apt-file search libTKService.so

带dev的包(如python-dev,libdianewcanvas2-dev等)包含了头文件和静态库。

For the first product in compilation error, you can check in the LOGS directory its compilation log to see where the error comes from.
Usually, it is because an included file is missing in the system. So use apt-file search to search in which package this file belongs. Then apt-get install the missing package.
Then launch again the compilation of the product, for instance:
./sat compile SALOME-8.4.0 --stop_first_fail -p sip
来源

所需安装包汇总

软件包编译时出现的错误基本都是由于缺少必要的依赖包造成, 现将其汇总在下方:

$sudo apt-get install flex bison zlib1g zlib1g.dev pkg-config gfortran libboost-all-dev libbz2-dev liboce-visualization11 liboce-visualization-dev automake

--------------------------------------以下可以不用看----------------------------------------

安装时遇到的问题

doxygen

编译doxygen时遇到如下错误:

CMake Error at /home/jj/SALOME-9.3.0-UB18.04-SRC/INSTALL/cmake/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find FLEX (missing: FLEX_EXECUTABLE)

解决方法:

$sudo apt-get install flex bison

python

安装python时遇到如下错误:

zipimport.ZipImportError: can't decompress data; zlib not available

解决方法:

$ sudo apt-get install zlib1g
$ sudo apt-get install zlib1g.dev

mesa

安装mesa时遇到如下错误:

configure: error: The pkg-config script could not be found or is too old.  Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

解决方法:

$sudo apt-get install pkg-config

lapack

安装lapack时遇到如下错误:

-- The Fortran compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
  No CMAKE_Fortran_COMPILER could be found.

解决方法:
安装Fortran编译器

$sudo apt-get install gfortran

boost

https://www.cnblogs.com/qq952693358/p/8563048.html
在安装boost时遇到如下错误:

gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.9.4/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
 #include "bzlib.h"  // Julian Seward's "bzip.h" header.
                                                        ^
compilation terminated.

搜索后发现Boost依赖bzlib.h尚未安装,通过以下步骤解决问题:

$sudo apt-get install libboost-all-dev
$sudo apt-get install libbz2-dev

CAS

安装CAS时遇到如下错误:

src/TKService/CMakeFiles/TKService.dir/build.make:440: recipe for target 'lin64/gcc/lib/libTKService.so.7.3.0' failed

安装缺失的软件包

$sudo apt-get install liboce-visualization11 liboce-visualization-dev

netgen

scripts/netgen_5_3_1.sh: line 13: aclocal: command not found
error on manual call to aclocal
$sudo apt-get install automake

你可能感兴趣的:(在Ubuntu18.04上编译salome)