Configure error /usr/local/bin/bash build/config.sub failed

configure error /usr/local/bin/bash build/config.sub failed

If configure fails due to missing dependencies (to either the toolchain, external libraries or the boot JDK), most of the time it prints a suggestion on how to. configure: error: /bin/sh./config/config.sub aarch64-apple-darwin20.6.0 failed. if test -d src/ ; then \. (cd src/ ; make) ; fi. make[3]: *** No rule to. I'm using version 8.2 of LFS book. In 5.5. GCC-7.3.0 - Pass 1 section, page 41, when I run Code../configure --target=LFS_TGT.

watch the thematic video

Error setting up base repository

Configure error /usr/local/bin/bash build/config.sub failed - agree, very

no. Defaults to no. If yes, the target system must have a working gethrvtime() implementation and is used with procfs ioctl().

  • erl_xcomp_dlsym_brk_wrappers - yes no. Defaults to no. If yes, the target system must have a working __after_morecore_hook that can be used for tracking used malloc() implementations core memory usage. This is currently only used by unsupported features.

  • erl_xcomp_bigendian - yes

    Installing GCC: Configuration

    The following options apply to the build of the D runtime library.

    This option controls whether run-time checks and contracts are compiled into the D runtime library. When the option is not specified, the library is built with ‘’ checking. When the option is specified without a , the result is the same as ‘’. Likewise, ‘’ is equivalent to ‘’.

    The categories of checks available in are ‘’ (compiles libphobos with ), ‘’ (compiles libphobos with ), ‘’ (same as ‘’), ‘’ or ‘’ (same as ‘’).

    Individual checks available in are ‘’ (compiles libphobos with an extra option ).

    Specify whether to build only the core D runtime library (druntime), or both the core and standard library (phobos) into libphobos. This is useful for targets that have full support in druntime, but no or incomplete support in phobos. can be one of ‘’, ‘’, and ‘’ where ‘’ is the default.

    When the option is not specified, the default choice ‘’ means that it is inferred whether the target has support for the phobos standard library. When the option is specified without a , the result is the same as ‘’.

    Use installed ‘’ rather than that included with GCC. This needs to be available for each multilib variant, unless configured with in which case the GCC included ‘’ is only used when the system installed library is not available.

    Return to the GCC Installation page

    no. Defaults to yes on Linux; otherwise, no. If yes, sigaltstack() must be usable on the target system. sigaltstack() on Linux kernel versions less than 2.4 are broken.

  • erl_xcomp_linux_usable_sigusrx - yes 69 kB 00:00
    (6/25): fontconfig-devel-2.8.0-1.fc12.i686.rpm

    R Installation and Administration

    Appendix A Essential and useful other programs under a Unix-alike

    This appendix gives details of programs you will need configure error /usr/local/bin/bash build/config.sub failed build R on Unix-like platforms, or which will be used by R if found by.

    Remember that some package management systems (such as and Debian/Ubuntu’s) make a distinction between the user version of a package configure error /usr/local/bin/bash build/config.sub failed the development version. The latter usually has the same name but with the extension ‘’ or ‘’: you need both versions installed.

    A.1 Essential programs and libraries

    You need a means of compiling C and Fortran 90 (see Using Fortran). Your C compiler should be / 6005947, POSIX 1003.1 and C99-compliant.48 R tries to choose suitable flags49 for the C compilers it knows about, but you may have to set or suitably. For versions of prior to 5.1 with -based Linux this means including 50. (Note that options essential to run the compiler even for linking, configure error /usr/local/bin/bash build/config.sub failed, such as those to set the architecture, configure error /usr/local/bin/bash build/config.sub failed, should be specified as part of rather than in .)

    Unless you do not want to view graphs on-screen (or use macOS) you need ‘’ installed, including its headers and client libraries. For recent Fedora/RedHat distributions it means (at least) RPMs ‘’, ‘’, ‘’ and ‘&rsquo. On Debian/Ubuntu we recommend the meta-package ‘&rsquo. If you really do not want these you will need to explicitly configure R without X11, using.

    The command-line editing (and command completion) error invalid function or declaration on the library (including its headers): version 6.0 or later is needed for all the features to be enabled. Otherwise you will need to configure with (or equivalent).

    A suitably comprehensive function is essential. The R usage requires to be able to translate between andto recognize (as the current encoding) andand to translate to and from the Unicode wide-character formats — this is true by default for quicktime broadcaster error but not of most commercial Unixes. However, you can make use of (as used on macOS: see

    The OS needs to have enough support52 for wide-character types: this is checked at configuration. Some C99 functions53 are required and checked for at configuration. A small number of POSIX functions54 are essential, and others55 will be used if available.

    Installations configure error /usr/local/bin/bash build/config.sub failed (version 1.2.5 or later), (version 1.0.6 or later: called bzip2-libs/bzip2-devel or libbz2-1.0/libbz2-dev by some Linux distributions) and 56 version 5.0.3 or later are required.

    Either PCRE1 (version 8.32 or later, formerly known as just PCRE) or PCRE2 is required: PCRE2 is preferred and using PCRE1 requires option. Only the 8-bit library and headers are needed if these are packaged separately. JIT support (optional) is desirable for the best performance. For PCRE2 >= 10.30 (which is desirable as matching has been re-written not to use recursion and the Unicode tables were updated to version 10)

    suffices. If building PCRE1 for use with R a suitable command might be

    ./configure --enable-utf --enable-unicode-properties --enable-jit --disable-cpp

    The flag is supported for most common CPUs but does not work (well or at all) for ‘’ macOS.

    Some packages require the ‘Unicode properties’ which are optional for PCRE1: support for this and JIT can be checked at run-time by calling.

    Library (version 7.28.0 or later57) is required. Information on is found from the script: if that is missing or needs to be overridden58 there are macros to do so described in file.

    A program is needed to unpack the sources and packages (including the recommended packages). A version59 that can automagically detect compressed archives is preferred for use with : the configure script looks for and before – use environment variable to override this. (On NetBSD/OpenBSD systems set this to if that is installed.)

    There need to be suitable versions of the tools and : the problems are usually with old AT&T and BSD variants. will try to find suitable cannot redeclare function php error (including looking in which is used on some commercial Unixes).

    You will not be able to build most of the manuals unless you have version 5.1 or later installed (which requires ), and if not most of the manuals will be linked to a version on. To make PDF versions of the manuals you will also need file installed (which is part of the texinfo distribution but is often made part of the TeX package in re-distributions) as well as .60 Further, the versions of and need to be compatible: we have seen problems with older TeX distributions.

    If you want to build from the R Subversion repository then is highly recommended as it is used to create files which are in the tarball but not stored in the Subversion repository.

    The PDF documentation (including ) and building vignettes needs and. We require LaTeX version or later (for UTF-8 support). Building PDF package manuals (including the R reference manual) and vignettes is sensitive to the version of the LaTeX package hyperref and we recommend that the TeX distribution used is kept up-to-date. A number of standard LaTeX packages are required (including url and some of the font packages such as times and helvetic for the manuals, as well as fancyvrb, configure error /usr/local/bin/bash build/config.sub failed, wis 10022 error and parskip for the base vignettes) and others such as hyperref and inconsolata are desirable (and without them you may need to change R’s defaults: see Making the manuals). Note that package hyperref (currently) requires packages kvoptions, ltxcmds and refcount. For distributions based on TeX Live the simplest approach may be to install collections collection-latex, collection-fontsrecommended, collection-latexrecommended, collection-fontsextra and collection-latexextra (assuming they are not installed by default): Fedora uses names like texlive-collection-fontsextra and Debian/Ubuntu like texlive-fonts-extra.

    The essential programs should be in your at the time is run: this will capture the full paths, configure error /usr/local/bin/bash build/config.sub failed.

    Those distributing binary versions of R may need to be aware of the licences of the external libraries it is linked to (including ‘useful’ libraries from the next section). The library is in the public domain and X11, and have MIT-style licences. PCRE and PCRE2 have a BSD-style licence which requires distribution of the licence (included in Codigo error p08 canon mp250 file) in binary distributions. GNU is licensed under GPL (which version(s) of GPL depends on the version).

    A.2 Useful libraries and programs

    The ability to use translated messages makes use of and most likely needs : you do need this to work with new translations, but otherwise the version of the runtime contained in the R sources will be used if no suitable external is found.

    The ‘modern’ version of theconfigure error /usr/local/bin/bash build/config.sub failed, and graphics devices uses the Cairo and Pango libraries. Cairo version 1.2.0 or later and Pango version 1.10 or later are required (but much later versions are current). R checks forand uses that to check first that the ‘’ package is installed (and if not, ‘’) then if suitable code can be compiled. These tests will fail if is not installed61, and might fail if was built statically unless option is used. Most systems with 2.8 or later installed will have suitable libraries: for Fedora users the RPM and its dependencies suffice. It is possible (but very unusual on a platform with X11) to build Cairo without its module in which case will not be available. Pango is optional but highly desirable as it is likely to give much better text rendering, including kerning.

    For the best font experience with these devices you need suitable fonts installed: Linux users will want the package. On platforms which have it available, the package62 provides TrueType versions of Monotype fonts such as Arial and Times New Roman. Another useful set of fonts is the ‘liberation’ Configure error /usr/local/bin/bash build/config.sub failed fonts available at,63 which cover the Latin, Greek and Cyrillic alphabets plus a fair range of signs. These share metrics with Arial, Times New Roman and Courier New, and contain fonts rather similar to the first two ( Then there is the ‘Free UCS Outline Fonts’ project ( which are OpenType/TrueType fonts based on the URW fonts but with extended Unicode coverage. See the R help on on selecting such fonts.

    The bitmapped graphics devices and need the appropriate headers and libraries installed: (version 6b or later, or ) or (version 1.2.7 or later) and or (versions 4.0.[5-10] and 4.[123].0 have been tested) respectively. is used if available and so needs the appropriate file (which requires version 4.x and is not available on all platforms for before version 9c). They also need support for either or (see above). Configure error /usr/local/bin/bash build/config.sub failed support for these devices not be required or broken system libraries need to be avoided there are options and. The TIFF library has many optional features such as, andnone of which is required for the devices but may need to be present to link the library (usually only an issue for static linking). can tell you what other libraries are required for linking, for example by.

    Option is also available: it needs a recent version of TRE. (The latest sources are in the repository at, but at the time of writing the resulting build did not complete its checks, nor did R built against the version supplied by Fedora.)

    An implementation of is required, and the R sources contain one which is likely to suffice (although a system version may have higher performance). is part of and historically has been part of on a Unix-alike. (In principle should tell you which library is needed, but it often does not: on some OSes it is provided by .) However some builds64 of omit or hide it with the intention that the library be used, in which case (and its development version) should be installed, and its headers65 need to be on the C include path or under.

    Use of the X11 clipboard selection requires the headers and libraries. These are normally part of an X11 installation (e.g. the Debian meta-package ‘’), but some distributions have split this into smaller parts, configure error /usr/local/bin/bash build/config.sub failed, so for example recent versions of Fedora require the ‘’ and ‘’ RPMs.

    Some systems (notably macOS and at least some FreeBSD systems) have inadequate support for collation in multibyte locales. It is possible to replace the OS’s collation support by that from ICU (International Components for Unicode,, and this provides much more precise control over collation on all systems. ICU is available as sources and as binary distributions for (at least) most Linux distributions, FreeBSD, macOS and AIX, usually as or. It will be used by default where available: should a very old or broken version of ICU be found this can be suppressed by.

    The and devices and function use ghostscript ( This should either be in your path when the command is run, or its full path specified by the environment variable at that time.

    At the time of writing a full installation on Fedora Linux used the following packages and their development versions, and this may provide a useful checklist for other systems:

    bzip2 cairo fontconfig freetype fribidi glib2 harfbuzz libX11 libXext libXt libcurl libicu libjpeg libpng libtiff libtirpc libxcrypt ncurses pango pkgconf-pkg-config pcre2 readline tcl tk xz zlib

    A.2.1 Tcl/Tk

    The tcltk package needs Tcl/Tk ≥ 8.4 installed: the sources are available at, configure error /usr/local/bin/bash build/config.sub failed. To specify the locations of the Tcl/Tk files you may need the configuration options

    use Tcl/Tk, or specify its library directory

    specify location configure error /usr/local/bin/bash build/config.sub failed

    specify location of

    or use the configure variables and to specify the flags needed for linking against the Tcl and Tk libraries and for finding the and headers, respectively. If you have both 32- and 64-bit versions of Tcl/Tk installed, specifying the paths to the correct config files may be necessary to avoid confusion between them.

    Versions of Tcl/Tk up to 8.5.19 and 8.6.12 have been tested (including most versions of 8.4.x, but not recently).

    Note that the header includes66 X11 headers, so you will need X11 and its development files installed.

    A.2.2 Java support

    The build process looks for Java support on the host system, and if it finds it sets some settings which are useful for Java-using packages (such as rJava and JavaGD: these require a full JDK). This check can be suppressed by configure option. Configure variable can be set to point to a specific JRE/JDK, on the command line or in the environment.

    Principal amongst these settings are some paths to the Java libraries and JVM, which are stored in environment variable configure error /usr/local/bin/bash build/config.sub failed file (or a sub-architecture-specific version). A typical setting for ‘’ Linux is

    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk- R_JAVA_LD_LIBRARY_PATH=${JAVA_HOME}/lib/amd64/server

    Unfortunately this depends on the exact version of the JRE/JDK installed, and so may need 500 internal server error error php if the Java installation is updated. This can be done by running

    803 kB 00:04
    (25/25): zlib-devel-1.2.3-23.fc12.i686.rpm

    [Bug 62417] configure: error: cannot run /usr/local/bin/bash build/config.sub similar to 21377 --- Comment #9 from Dennis Clarke <[email protected]> --- Well this whole process fell apart fast with the compiler saying : beta $ /usr/local/bin/gmake Making all in srclib gmake[1]: Entering directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/srclib' gmake[1]: Leaving directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/srclib' Making all in os gmake[1]: Entering directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os' Making all in unix gmake[2]: Entering directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os/unix' gmake[3]: Entering directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os/unix' /usr/local/build-1/libtool --silent --mode=compile /opt/developerstudio12.6/bin/cc -D_STDC_C99= centos 5 php error log -Xa -g -errfmt=error -erroff=%none -xmemalign=8s -errshort=full -xstrconst -xildoff -m64 -xnolibmil -xcode=pic32 -xregs=no%appl -xlibmieee -ftrap=%none -xarch=sparc -mc -xs -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -DSOLARIS2=10 -D_REENTRANT -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_TS_ERRNO -I. -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os/unix -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/include -I/usr/local/include/apr-1 -I/usr/local/include -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/aaa -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/cache -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/core -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/database -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/filters -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/ldap -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/server -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/loggers -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/lua -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/proxy -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/http2 -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/session -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/ssl -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/test -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/server -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/md -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/arch/unix -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/dav/main -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/generators -I/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/modules/mappers -prefer-non-pic -static -c unixd.c -o unixd.lo "unixd.c", line 326: error: undefined struct/union member: use_specific_errors "unixd.c", line 326: warning: implicit function declaration: ap_accept_error_is_nonfatal cc: acomp failed for unixd.c gmake[3]: configure error /usr/local/bin/bash build/config.sub failed [/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/build/ unixd.lo] Error 1 gmake[3]: Leaving directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os/unix' gmake[2]: *** [/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/build/ all-recursive] Error 1 gmake[2]: Leaving directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os/unix' gmake[1]: *** [/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/build/ all-recursive] Error 1 gmake[1]: Leaving directory '/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/os' gmake: *** [/usr/local/build/httpd-trunk_rev_1832649_SunOS5.10_sparc64vii+.001/build/ all-recursive] Error 1 beta $ A quick diff from a previous build that works : beta $ diff ./httpd-2.4.rev_1832414_SunOS5.10_sparc64vii+.001/os/unix/unixd.c ./os/unix/unixd.c 20a21 > #include "http_core.h" 26a28 > #include "apr_signal.h" 183c185 < if(apr_procattr_cmdtype_set(attr, APR_PROGRAM) != APR_SUCCESS) { --- > if (apr_procattr_cmdtype_set(attr, APR_PROGRAM) != APR_SUCCESS) { 321a324,329 > configure error /usr/local/bin/bash build/config.sub failed /* Let the caller handle slightly more varied return values */ > if (lr->use_specific_errors && ap_accept_error_is_nonfatal(status)) { > return status; > } > 510a519,525 > static void ap_terminate(void) > { > ap_main_state = AP_SQ_MS_EXITING; > apr_pool_destroy(ap_pglobal); > apr_terminate(); > } > 519a535,544 > else if (!ap_retained_data_get("ap_unixd_mpm_one_process_cleanup")) { > /* In one process mode (debug), httpd will exit immediately when asked > * to (SIGTERM/SIGINT) and never restart. We still want the cleanups > to > * run though (such that e.g. temporary files/IPCs don't leak on the > * system), so the first time around we use atexit() to cleanup after > * ourselves. > */ > ap_retained_data_create("ap_unixd_mpm_one_process_cleanup", 1); > atexit(ap_terminate); > } beta $ So I will peck around and see what the issue is here. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
    grep lsf                  MCA ess: lsf (MCA v2.0, API v1.3, Component v1.3)                  MCA ras: lsf (MCA v2.0, API v1.3, Component v1.3)                  MCA plm: lsf (MCA v2.0, API v1.3, Component v1.3)
  • Specific frameworks and version numbers may vary, depending on your version of Open MPI.

    32. How do I build Open MPI with processor affinity support?

    Open MPI supports processor affinity for many platforms. In general, processor affinity will automatically be built if it is supported — no additional command line flags to should be necessary.

    However, Open MPI will fail to build processor affinity if the appropriate support libraries and header files are not available on the system on which Open MPI is being built. Ensure that you have all appropriate "development" packages installed. For example, Red Hat Enterprise Linux the legacy realm of terror systems typically require the packages to be installed before Open MPI will be able to build full support for processor affinity. Other OS's / Linux distros may have different packages that are required.

    See this FAQ entry for more details.

    33. How do I build Open MPI with memory affinity / NUMA support (e.g., libnuma)?

    Open MPI supports memory affinity for many platforms. In general, memory affinity will automatically be built if it is supported — no additional command line flags to should be necessary.

    However, Open MPI will fail to build memory affinity if the appropriate support libraries and header files are not available on the system on which Open MPI is being built. Ensure that you have all appropriate "development" packages installed. For example, Red Hat Enterprise Linux (RHEL) systems typically require the packages to be installed before Open MPI will be able to build full support for memory affinity. Other OS's / Linux distros may have different packages that are required.

    See this FAQ entry for more details.

    34. How do I build Open MPI with CUDA-aware support?

    CUDA-aware support means that the MPI library can send and receive GPU buffers directly. This feature exists in the Open MPI 1.7 series and later. The support is being continuously updated so different levels of support exist in different versions. We recommend you use the latest 1.8 version for best support.

    Configuring the Open MPI 1.8 series and Open MPI 1.7.3, 1.7.4, 1.7.5

    With Open MPI 1.7.3 and later the library is loaded dynamically so there is no need to specify a path to it at configure time. Therefore, all you need is the path to the header file.

    1. Searches in default locations. Looks for in /usr/local/cuda/include.

    1 shell$ ./configure --with-cuda

    2. Searches for in /usr/local/cuda-v6.0/cuda/include.

    1 shell$ ./configure --with-cuda=/usr/local/cuda-v6.0/cuda

    Note that you cannot configure with --disable-dlopen as configure error /usr/local/bin/bash build/config.sub failed will break the ability of the Open MPI library to dynamically load.

    Configuring Open MPI 1.7, MPI 1.7.1 and 1.7.2

    1 2 3   --with-cuda(=DIR)       Build cuda support, optionally adding DIR/include,                           DIR/lib, and DIR/lib64   --with-cuda-libdir=DIR  Search for cuda libraries in DIR

    Here are some examples of commands that enable CUDA support.

    1. Searches in default locations. Looks for configure error /usr/local/bin/bash build/config.sub failed /usr/local/cuda/include and in /usr/lib64.

    1 shell$ ./configure --with-cuda

    2. Searches for in /usr/local/cuda-v4.0/cuda/include and in default location of /usr/lib64.

    1 shell$ ./configure --with-cuda=/usr/local/cuda-v4.0/cuda

    3. Searches for in /usr/local/cuda-v4.0/cuda/include and in /usr/lib64. (Same as previous example.)

    1 shell$ ./configure --with-cuda=/usr/local/cuda-v4.0/cuda --with-cuda-libdir=/usr/lib64

    If the or files cannot be found, then the configure will abort.

    Note: There is a bug in Open MPI 1.7.2 such that you will get an error if you configure the library with --enable-static. To get around this error, add the following to your line and reconfigure. This disables the build of the PML BFO which is largely unused anyways. This bug is fixed in Open MPI 1.7.3, configure error /usr/local/bin/bash build/config.sub failed.

    1  --enable-mca-no-build=pml-bfo

    See this FAQ entry for detals on how to use the CUDA support.

    35. How do I not build a specific plugin / component for Open MPI?

    The option to Open MPI's script enables you to specify a list of components that you want to skip building. This allows you to not include support for specific features in Open MPI if you do not want to.

    It takes a single argument: a comma-delimited list of framework/component pairs inidicating which specific components you do not want to build. For example:

    1 shell$ ./configure --enable-mca-no-build=paffinity-linux,timer-solaris

    Note that this option is really only useful for components that would otherwise be built. For example, if you are on a machine without Myrinet support, it is not necessary to specify:

    1 shell$ ./configure --enable-mca-no-build=btl-gm

    because the script will naturally see that you do not have support for GM and will automatically skip the BTL component.

    36. What other options to configure exist?

    There are many options to Open MPI's script. Please run the following to get a full list (including a short description of each option):

    1 shell$ ./configure --help

    37. Why does compiling the Fortran 90 bindings take soooo long?
    NOTE: Starting with Open MPI v1.7, if you are not using gfortran, building the Fortran 90 and 08 bindings do not suffer the same performance penalty that previous versions incurred. The Open MPI developers encourage all users to upgrade to the new Fortran bindings implementation — including the new MPI-3 Fortran'08 bindings — when possible.

    This is actually a design problem with the MPI F90 bindings themselves. The issue is that since F90 is a strongly typed language, we have to overload each function that takes a choice buffer with a typed buffer, configure error /usr/local/bin/bash build/config.sub failed. For example, has many different overloaded versions — one for each type of the user buffer. Specifically, there is an that has the following types for the first argument:

    • logical*1, logical*2, logical*4, logical*8, logical*16 (if supported)
    • integer*1, configure error /usr/local/bin/bash build/config.sub failed, integer*2, integer*4, integer*8, integer*16 (if supported)
    • real*4, real*8, real*16 (if supported)
    • complex*8, complex*16, complex*32 (if supported)
    • character

    On the surface, this is 17 bindings for configure error /usr/local/bin/bash build/config.sub failed. Multiply this by every MPI function that takes a choice buffer (50) and you 850 overloaded functions. However, the problem gets worse — for each type, we also have to overload for each array dimension that needs to be supported. Fortran allows up to 7 dimensional arrays, so this becomes (17x7) = 119 versions of every MPI function that has a choice buffer argument. This makes (17x7x50) = 5,950 MPI interface functions.

    To make matters even worse, consider the ~25 MPI functions that take 2 choice buffers. Functions have to be provided for all possible combinations of types. This then becomes exponential — the total number of interface configure error /usr/local/bin/bash build/config.sub failed balloons up to 6.8M.

    Additionally, F90 modules must all have their functions in a single source file. Hence, all 6.8M functions must be in one file and compiled as a single unit (currently, no F90 compiler that we are aware of can handle 6.8M interface functions in a single module).

    To limit this problem, configure error /usr/local/bin/bash build/config.sub failed, Open MPI, by default, configure error /usr/local/bin/bash build/config.sub failed, does not generate interface functions for any of the 2-buffer MPI functions. Additionally, we limit the maximum number of supported dimensions to 4 (instead of 7). This means that we're generating (17x4*50) = 3,400 interface functions in a single F90 module. So it's far smaller than 6.8M functions, configure error /usr/local/bin/bash build/config.sub failed, but it's still quite a lot.

    This is what makes compiling the F90 module take so long.

    Note, however, you can limit the maximum number configure error /usr/local/bin/bash build/config.sub failed dimensions that Open MPI will generate for the F90 bindings with the configure switchwhere is an integer <= 7. The default value is 4. Decreasing this value makes the compilation go faster, but obviously supports fewer dimensions.

    Other than this limit on dimension size, there is little else that we can do — the MPI-2 F90 bindings were unfortunately not well thought out in this regard.

    Note, however, that the Open MPI team has proposed Fortran '03 bindings for MPI in a paper that was presented at the Euro PVM/MPI'05 conference. These bindings avoid all the scalability problems that are described above and have some other nice properties.

    This is something that is being worked on in Open MPI, but there is currently have no estimated timeframe on when it will be available.

    38. Does Open MPI support MPI_REAL16 and MPI_COMPLEX32?

    It depends. Note that these datatypes are optional in the MPI standard.

    Prior to v1.3, configure error /usr/local/bin/bash build/config.sub failed, Open MPI supported and if a portable C integer type could be found that was the same size (measured in bytes) as Fortran's type. It was later discovered that even though the sizes may be the same, the bit representations between C and Fortran may be different. Since Open MPI's reduction routines are implemented in C, calling MPI_REDUCE (and related functions) with or would generate undefined results (although message ddt2000 com error with these types in homogeneous environments generally worked fine).

    As such, Open MPI v1.3 made the test for supporting and more stringent: Open MPI will support these types only if:

    • An integer C type can be found that has the same size (measured in bytes) as the Fortran type.
    • The bit representation is the same between the C type and the Fortran type.

    Version 1.3.0 only checks for portable C types (e.g., ). A future version of Open MPI may include support for compiler-specific / non-portable C types. For example, the Intel compiler has specific options for creating a C type that is the same as REAL*16, but we did not have time to include this support in Open MPI v1.3.0.

    39. Can I re-locate my Open MPI installation without re-configuring/re-compiling/re-installing from source?

    Starting with Open MPI v1.2.1, yes.

    Background: Open MPI hard-codes some directory paths in its executables based on installation paths specified by the script. For example, if you configure with an installation prefix ofOpen MPI encodes in its executables that it should be able to find its help files in.

    The "installdirs" functionality in Open MPI lets you change any of these hard-coded directory paths at run time (assuming that you have already adjusted your and/or environment variables to the new location where Open MPI now resides). There are three methods:

    1. Move an existing Open MPI installation to a new prefix: Set the environment variable before launching Open MPI. For example, if Open MPI had initially been installed to and the entire tree was later moved tosetting to will enable Open MPI to function properly.
    2. "Stage" an Open MPI installation in a temporary location: When creating self-contained installation packages, systems such as RPM install Open MPI into temporary locations. The package system then bundles up everything under the temporary location into a package that can be installed into its real location later. For example, when creating configure error /usr/local/bin/bash build/config.sub failed RPM that will be installed tothe RPM system will transparently prepend a "destination directory" (or "destdir") to the installation directory. As such, Open MPI will think that it is installed inbut it is actually temporarily installed in (for example)configure error /usr/local/bin/bash build/config.sub failed. If it is necessary to use Open MPI while it is installed in this staging area, the environment variable can be used; setting to will automatically prefix every directory such that Open MPI can function properly.
    3. Overriding individual directories: Open MPI uses the GNU-specified directories (per Autoconf/Automake), and can be overridden by setting environment variables directly related to their common names. The list of environment variables that can be used is:

      Note that not all of the directories listed above are used by Open MPI; they are listed here in entirety for completeness.

      Also note that several directories listed above are defined in terms of other directories. For example, the is defined by default as. Hence, overriding the (via ) will automatically change the first part of the (which is how method 1 described above works). Alternatively, can be set to an absolute value that ignores altogether.

    40. How do I statically link to the libraries of Intel compiler suite?

    The Intel compiler suite, by default, configure error /usr/local/bin/bash build/config.sub failed links its runtime libraries against the Open MPI binaries and libraries, configure error /usr/local/bin/bash build/config.sub failed. This can cause problems if the Intel compiler libraries are installed in non-standard locations. For example, you might get errors like:

    1 2 error while loading shared libraries: cannot open shared object file: No such file configure error /usr/local/bin/bash build/config.sub failed directory

    To avoid such problems, you can pass flags to Open MPI's configure script that instruct the Intel compiler suite to statically link its runtime libraries with Open MPI:

    1 shell$ ./configure CC=icc CXX=icpc FC=ifort LDFLAGS=-Wc,-static-intel .

    41. Why do I get errors about hwloc or libevent not found?

    Sometimes you may see errors similar to the following when attempting to build Open MPI: configure error /usr/local/bin/bash build/config.sub failed 2 3 4 5 6 7 8 . PPFC     profile/pwin_unlock_f08.lo PPFC     profile/pwin_unlock_all_f08.lo PPFC     profile/pwin_wait_f08.lo FCLD ld: library not found for -lhwloc collect2: error: ld returned 1 exit status make[2]: *** [] Error 1