Installer #1523

Closed
Rombur opened this Issue Sep 3, 2015 · 18 comments

Projects

None yet

7 participants

@Rombur
Member
Rombur commented Sep 3, 2015

By tagging the older posts in the mailing list, I have realized the huge number of posts that are about installing deal.II (this is by far the largest category). Moreover, just last week I talked to someone who couldn't install deal.II but never bothered to ask for help on the mailing list. So I would like to have an "official" installer for the next release. This would also allow us to get rid of the bundled packages. Next is the summary of the discussion we had about this topic during the workshop:

Mac: we are good in a good shape: there is the binary and deal.II can be installed from source using homebrew (I think that we should mention it on the download page).

Linux source: I think that most of us agreed during the workshop that we should see if we can make linuxbrew work on a cluster. If we can't make it work, we should look for another installer maybe CANDI. There is a patch on linuxbrew to accept different versions of blas but the maintainers can't decide if it should be merged or not.

Linux binaries: I think that we concluded that the main advantage of the binaries is advertisement. People can quickly test deal.II and decide if deal.II is what they need. The problem is that it's a lot of work and that there are no volunteer. I think that there is nothing we can do about it in the short term. Longer term however, Ubuntu is going to have a new package manager (it's planned for Ubuntu 16.10) that should simplify packaging. Since a few of us are using Ubuntu, it would be easier to get the packaging done.

@Rombur Rombur added the Enhancement label Sep 3, 2015
@tamiko
Member
tamiko commented Sep 3, 2015

This would also allow us to get rid of the bundled packages.

++

I would love that!

@tjhei
Member
tjhei commented Sep 3, 2015

Yes. I think we need an install script for linux (and optionally Mac OS, but that is not really important).

My wishlist:

  • a single shell script that you can execute and that optionally asks 1 or 2 questions (dev version vs. last release?)
  • work at least on most common ubuntu releases (stable/not stable)
  • work without superuser (at least does not require you to install a large number of packages)
  • contain most dependencies (PETSc, Trilinos, p4est, ...)
  • downloads specific library versions that we approve
  • detects native MPI and use it, otherwise can install own MPI (if not on a cluster)

I already looked into candi, hashdist, conda, and linuxbrew. I think all of them might work as does rolling something separate, but all of them require some extra work. I am not really sure how to proceed. We have some buy-in with candi and some with homebrew/linuxbrew and many already have their own scripts that do part of the job.

@Rombur
Member
Rombur commented Sep 3, 2015

I think the hardest part will be to make a decision. I really want this done, so I am ready to work on any solution including our own installer in bash or python. Unless someone has a compelling reason to choose an installer over another, I think the best method would be to ask on the user mailing what people want.

@tjhei
Member
tjhei commented Sep 4, 2015

I really want this done

Me too and I am happy to work on this. Can you think of other requirements or things we should think about?

@gassmoeller
Contributor

I am just returning from a conference, where half of the complaints about ASPECT was about the tedious dependency list and installation, so I would fully support creating an installer for deal.II. My knowledge about installers / portable shell scripts is not great, so I would be happy if someone would go ahead, but I would certainly offer to help in testing on different systems. Concerning dependencies, many people in the geosciences community like hdf5 output, so a parallel hdf5 included would be nice. All other dependencies of ASPECT are already mentioned above.

Let me know, when there is something to help with.

@tjhei
Member
tjhei commented Feb 19, 2016

Just a quick update:
We have been steadily testing and improving https://github.com/koecher/candi and we are now at a point were it is very useful. Thanks to @koecher much of the work. I started using it for all my systems for example.

There are many things left to do:

  • hosting it under something like github.com/dealii/candi
  • promote on download page
  • set up a testing framework for the most common configurations, find people with access to different supercomputers to provide feedback on how it is working
  • improve documentation
  • etc.
@koecher
Collaborator
koecher commented Feb 19, 2016

Thx Timo. I would be proud if we can do so.

And I see the same points, we have a very good basis installer, which needs a lot more documentation and HPC platforms.

@Rombur
Member
Rombur commented Mar 18, 2016

I know that @davydden is looking at spack and I have nothing against it but could we better advertise candi and homebrew on the download page. There is still work to do in candi but I think that it would already help a lot of users. Just this week, someone on the mailing list struggled to install all the dependencies and polluted his environment to the point that he couldn't install deal.II anymore. He had to redo a fresh install of Ubuntu and then, he used candi. This is wasting everybody's time.

@tjhei
Member
tjhei commented Mar 18, 2016

Agreed. I will work on this in the next few weeks.

@koecher
Collaborator
koecher commented Mar 18, 2016

If there is something to do with candi, I will have a plenty of time the next weeks. Please let me know about your thoughts by a PR or issue request.

@bangerth
Member

We could definitely put this onto the download page, if y'all think that it's ready to be given to the masses.

@Rombur
Member
Rombur commented Mar 21, 2016

For me, it's good enough. We can always improve it when you have some time. What do you think @tjhei ?

@tjhei
Member
tjhei commented Mar 21, 2016

opinions on

  1. create a repo at github.com/dealii/ ?
  2. If yes, what to call it "installer" or "candi"?
@davydden
Member
  1. "bash-installer" ?
@tjhei
Member
tjhei commented Apr 23, 2016

see github.com/dealii/candi (I went with the existing name because it is already known on the mailing list etc.).
Testing/Code review/contributions welcome.

@tamiko tamiko added the Build system label Jul 11, 2016
@tamiko
Member
tamiko commented Jul 17, 2016

Any updates on this issue? Can we close?

@davydden
Member
davydden commented Jul 17, 2016 edited

@tamiko i would say this is still an open issue with quite a big number of post on google group related to installation. I would suggest that the main TODO is advertise different installation options on Download page in addition to macOS binaries, namely (in alphabetical order):
Candi, Homebrew (mac), Linuxbrew (linux), Spack;
with a quick summary to let users decide:

Candi -- [@tjhei or @koecher would be the best to write a quick summary]
Homebrew -- package manager for mac to install the complete deal.II suite of upstream versions and possibly many other packages optionally using precompiled binary packages.
Linuxbrew -- a port of Homebrew for Linux
Spack -- Supercomputer PACKage manager to install the complete deal.II suite and possibly many other packages. It is intended to let you build for many combinations of compiler, architectures, dependency libraries, and build configurations, all with a friendly, intuitive user interface.

p.s. also mention Debian when its ready #2843

@tamiko
Member
tamiko commented Jan 12, 2017

Given the fact that this issue is some kind of meta issue, I will simply close.

Let's open an issue for concrete improvements we can make.

@tamiko tamiko closed this Jan 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment