@@ -961,20 +961,116 @@ Additionally, if a search directory is specified in the form
961
961
` --disable-wrapper-runpath ` .
962
962
963
963
* ` --enable-dlopen ` :
964
- Build all of Open MPI's components as standalone Dynamic Shared
965
- Objects (DSO's ) that are loaded at run-time (this is the default).
966
- The opposite of this option, ` --disable-dlopen ` , causes two things:
964
+ Enable loading of Open MPI components as standalone Dynamic
965
+ Shared Objects (DSOs ) that are loaded at run-time. This option is
966
+ enabled by default.
967
967
968
- 1 . All of Open MPI's components will be built as part of Open MPI's
969
- normal libraries (e.g., ` libmpi ` ).
970
- 1 . Open MPI will not attempt to open any DSO's at run-time.
968
+ The opposite of this option, --disable-dlopen, causes the following:
971
969
972
- Note that this option does * not* imply that OMPI's libraries will be
973
- built as static objects (e.g., ` libmpi.a ` ). It only specifies the
974
- location of OMPI's components: standalone DSOs or folded into the
975
- Open MPI libraries. You can control whether Open MPI's libraries
976
- are build as static or dynamic via ` --enable|disable-static ` and
977
- ` --enable|disable-shared ` .
970
+ 1 . Open MPI will not attempt to open any DSOs at run-time.
971
+ 1 . configure behaves as if the --enable-mca-static argument was set.
972
+ 1 . configure will ignore the --enable-mca-dso argument.
973
+
974
+ See the description of --enable-mca-static / --enable-mca-dso for
975
+ more information.
976
+
977
+ Note that this option does * not* change how Open MPI's libraries
978
+ (libmpi, for example) will be built. You can change whether Open
979
+ MPI builds static or dynamic libraries via the
980
+ --enable|disable-static and --enable|disable-shared arguments.
981
+
982
+ * ` --enable-mca-dso[=LIST] ` and ` --enable-mca-static[=LIST] `
983
+ These two options, along with --enable-mca-no-build, govern the
984
+ behavior of how Open MPI's frameworks and components are built.
985
+
986
+ The --enable-mca-dso option specifies which frameworks and/or
987
+ components are built as Dynamic Shared Objects (DSOs).
988
+ Specifically, DSOs are built as "plugins" outside of the core Open
989
+ MPI libraries, and are loaded by Open MPI at run time.
990
+
991
+ The --enable-mca-static option specifies which frameworks and/or
992
+ components are built as part of the core Open MPI libraries (i.e.,
993
+ they are not built as DSOs, and therefore do not need to be
994
+ separately discovered and opened at run time).
995
+
996
+ Both options can be used one of two ways:
997
+
998
+ 1 . --enable-mca-OPTION (with no value)
999
+ 1 . --enable-mca-OPTION=LIST
1000
+
1001
+ --enable-mca-OPTION=no or --disable-mca-OPTION are both legal
1002
+ options, but have no impact on the selection logic described below.
1003
+ Only affirmative options change the selection process.
1004
+
1005
+ LIST is a comma-delimited list of Open MPI frameworks and/or
1006
+ framework+component tuples. Examples:
1007
+
1008
+ * "btl" specifies the entire BTL framework
1009
+ * "btl-tcp" specifies just the TCP component in the BTL framework
1010
+ * "mtl,btl-tcp" specifies the entire MTL framework and the TCP
1011
+ component in the BTL framework
1012
+
1013
+ Open MPI's configure script uses the values of these two options
1014
+ when evaluating each component to determine how it should be built
1015
+ by evaluating these conditions in order:
1016
+
1017
+ 1 . If an individual component's build behavior has been specified
1018
+ via these two options, configure uses that behavior.
1019
+ 1 . Otherwise, if the component is in a framework whose build
1020
+ behavior has been specified via these two options, configure uses
1021
+ that behavior.
1022
+ 1 . Otherwise, configure uses the global default build behavior.
1023
+
1024
+ At each level of the selection process, if the component is
1025
+ specified to be built as both a static and dso component, the static
1026
+ option will win.
1027
+
1028
+ Note that as of Open MPI v5.0.0, configure's global default is to
1029
+ build all components as static (i.e., part of the Open MPI core
1030
+ libraries, not as DSO's). Prior to Open MPI v5.0.0, the global
1031
+ default behavior was to build most components as DSOs.
1032
+
1033
+ Also note that if the --disable-dlopen option is specified, then
1034
+ Open MPI will not be able to search for DSOs at run time, and the
1035
+ value of the --enable-mca-dso option will be silently ignored.
1036
+
1037
+ Some examples:
1038
+
1039
+ 1 . Default to building all components as static (i.e., as part of
1040
+ the Open MPI core libraries -- no DSOs):
1041
+
1042
+ $ ./configure
1043
+
1044
+ 1 . Build all components as static, except the TCP BTL, which will be
1045
+ built as a DSO:
1046
+
1047
+ $ ./configure --enable-mca-dso=btl-tcp
1048
+
1049
+ 1 . Build all components as static, except all BTL components, which
1050
+ will be built as DSOs:
1051
+
1052
+ $ ./configure --enable-mca-dso=btl
1053
+
1054
+ 1 . Build all components as static, except all MTL components and the
1055
+ TCP BTL component, which will be built as DSOs:
1056
+
1057
+ $ ./configure --enable-mca-dso=mtl,btl-tcp
1058
+
1059
+ 1 . Build all BTLs as static, except the TCP BTL, as the
1060
+ <framework-component > option is more specific than the
1061
+ <framework > option:
1062
+
1063
+ $ ./configure --enable-mca-dso=btl --enable-mca-static=btl-tcp
1064
+
1065
+ 1 . Build the TCP BTL as static, because the static option at the
1066
+ same level always wins:
1067
+
1068
+ $ ./configure --enable-mca-dso=btl-tcp --enable-mca-static=btl-tcp
1069
+
1070
+ * ` --enable-mca-no-build=LIST ` :
1071
+ Comma-separated list of ` <framework>-<component> ` pairs that will not be
1072
+ built. For example, ` --enable-mca-no-build=btl-portals,oob-ud ` will
1073
+ disable building the portals BTL and the ud OOB component.
978
1074
979
1075
* ` --disable-show-load-errors-by-default ` :
980
1076
Set the default value of the ` mca_base_component_show_load_errors `
@@ -1017,11 +1113,6 @@ Additionally, if a search directory is specified in the form
1017
1113
these libraries for their own purposes. This option is * not*
1018
1114
intended for typical users of Open MPI.
1019
1115
1020
- * ` --enable-mca-no-build=LIST ` :
1021
- Comma-separated list of ` <type>-<component> ` pairs that will not be
1022
- built. For example, ` --enable-mca-no-build=btl-portals,oob-ud ` will
1023
- disable building the portals BTL and the ud OOB component.
1024
-
1025
1116
1026
1117
### Networking support / options
1027
1118
0 commit comments