4.9.1. configure 命令行选项约定
configure 默认会搜索各种可选功能(例如各类HPC网络API/支持库)的头文件和/或库文件。如果找到相关文件,Open MPI将构建对该功能的支持;如果未找到,Open MPI将跳过构建该功能的支持。
然而,如果在configure命令行中指定--with-FOO(其中FOO是该功能对应的CLI选项名称),而Open MPI无法找到对FOO的相关支持时,configure会假定它无法提供明确请求的功能,因此将中止运行以便人工解决该问题。
注意
使用--with-FOO强制Open MPI的configure
脚本在找不到对特定功能的支持时中止,
可能比在运行时意外发现Open MPI缺少对关键功能的支持更为可取。
此外,如果以--with-FOO=DIR的形式为FOO指定了搜索目录,Open MPI将:
在
DIR/include目录中搜索FOO的头文件。搜索
FOO的库文件:如果指定了
--with-FOO-libdir=LIBDIR,则在LIBDIR中搜索。否则,在
DIR/lib中搜索,如果未找到,则继续在DIR/lib64中搜索。
如果找到相关的头文件和库文件:
Open MPI 将构建对
FOO的支持。如果找到FOO库的根路径既不是
/usr也不是/usr/local,Open MPI将在编译时使用RPATH标志指向FOO库所在的目录。重要提示
Open MPI不会为
/usr/lib[64]和/usr/local/lib[64]设置RPATH,因为许多系统默认已在这些目录中搜索运行时库;为它们添加RPATH可能会对搜索路径顺序产生意外影响。
警告
--with-FOO-libdir=LIBDIR 选项通常不需要使用;只有当 FOO 的库被安装在"非预期"位置时才需要指定。
还需注意--with-FOO=DIR与
--with-FOO-libdir=LIBDIR的区别:前者是一个目录,系统会为其添加
诸如/include和/lib等后缀;而后者则被假定为完整的库目录名称(例如
/opt/some_library/lib)。