ompi
ompi copied to clipboard
how to build?
./configure can not found
autoconf error:
aclocal: error: configure.ac:44: file 'config/autogen_found_items.m4' does not exist
/usr/bin/m4:configure.ac:44: cannot open `config/autogen_found_items.m4': No such file or directory
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
sh: 1: config/opal_get_version.sh: not found
please provide all the required information when opening a new issue.
@ggouaillardet please let me know how to build master, there is no configure file how to confg? thanks!
@jinfagang try to run autogen.pl file first BTW, it seems submodule config/oac is missing in repo
@jinfagang since you did not provide any information, I will assume you try to build from the git
repository.
Unless you have a good reason to do so, you'd better download the latest official tarball (it contains configure
)
@ggouaillardet hi, I am so confused, what's their bias? why git doesn't have configure? Also, autogenerated.pl need pearl installed? Sorry I didn't get it, am just familiar with cmake..... this software seems very ancient.
@jinfagang you should not try to build from git on your first rodeo.
@ggouaillardet Hi, I **just want to know ** why?
why git doesn't have configure and downladed have , doesn't they should at least source code keep same?
it is a bad practice to put automatically generated file into a source repository.
so the autogen.pl I have to install peratl to run
There is a big difference between what we developers store in Git and what we release in distribution tarballs for Open MPI:
- The Git repository contains the source code. As a best practice, we do not store any generated files in Git, for a variety of reasons:
- When you generate files, the output can vary depending on the version of the tools that you use to generate the files and your local environment.
- When using
make
to generate files (as evencmake
does), timestamps are very, very important. When you runautogen.pl
(which invokes the GNU Autotools to generate many of the files), the timestamps of those files are setup in a very, very specific way so that dependencies between different files are preserved. Git does not preserve those timestamps when you clone or pull updates from a repository.
- Generally: we expect (and require) that Open MPI developers have more tools available than end users. Put differently, we don't expect end users to have all these additional tools available, so the distribution tarballs are fully-bootstrapped (so that end users don't need to have these tools).
- Note, too, that it's not just the GNU Autotools that are required. For example, we recently started generating all the Open MPI documentation (HTML and man pages) from ReStructured Text source code. Just like the Autotools-based build system, these HTML and nroff docs files are generated by developer-level tools, and are therefore not stored in Git.
If you're building main
or the v5.0.x
branch, you can read https://docs.open-mpi.org/en/v5.0.x/developers/index.html for instructions on how to build from Git. For the v4.1.x
(and earlier) branch, you can read the HACKING
file on each branch for the instructions for that branch (we only recently converted main
and the v5.0.x
branch to use the pretty HTML docs). For example: https://github.com/open-mpi/ompi/blob/v4.1.x/HACKING.
As @ggouaillardet mentioned, if you are just building the software for general use, you might want to download a fully-bootstrapped tarball from https://www.open-mpi.org/software/ompi/, rather then build from a Git clone.
@jinfagang If we have answered your question, go ahead and close this issue. If we don't hear back from you within a few days, I'll take the liberty of closing it. Feel free to open a new issue if something else comes up.