ompi icon indicating copy to clipboard operation
ompi copied to clipboard

how to build?

Open lucasjinreal opened this issue 2 years ago • 12 comments

./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

lucasjinreal avatar Sep 19 '22 09:09 lucasjinreal

please provide all the required information when opening a new issue.

ggouaillardet avatar Sep 19 '22 09:09 ggouaillardet

@ggouaillardet please let me know how to build master, there is no configure file how to confg? thanks!

lucasjinreal avatar Sep 19 '22 11:09 lucasjinreal

@jinfagang try to run autogen.pl file first BTW, it seems submodule config/oac is missing in repo

hoopoepg avatar Sep 19 '22 12:09 hoopoepg

@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 avatar Sep 19 '22 12:09 ggouaillardet

@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.

lucasjinreal avatar Sep 19 '22 14:09 lucasjinreal

@jinfagang you should not try to build from git on your first rodeo.

ggouaillardet avatar Sep 19 '22 14:09 ggouaillardet

@ggouaillardet Hi, I **just want to know ** why?

lucasjinreal avatar Sep 19 '22 15:09 lucasjinreal

why git doesn't have configure and downladed have , doesn't they should at least source code keep same?

lucasjinreal avatar Sep 19 '22 15:09 lucasjinreal

it is a bad practice to put automatically generated file into a source repository.

ggouaillardet avatar Sep 19 '22 15:09 ggouaillardet

so the autogen.pl I have to install peratl to run

lucasjinreal avatar Sep 19 '22 15:09 lucasjinreal

There is a big difference between what we developers store in Git and what we release in distribution tarballs for Open MPI:

  1. 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 even cmake does), timestamps are very, very important. When you run autogen.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.
  2. 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).
  3. 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.

jsquyres avatar Sep 19 '22 15:09 jsquyres

@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.

jsquyres avatar Sep 19 '22 19:09 jsquyres