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