dealii / dealii

The development repository for the deal.II finite element library
https://www.dealii.org
Other
1.33k stars 737 forks source link

Installer #1523

Closed Rombur closed 7 years ago

Rombur commented 9 years ago

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.

tamiko commented 9 years ago

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

++

I would love that!

tjhei commented 9 years ago

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

My wishlist:

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 commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

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 commented 8 years ago

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:

koecher commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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

koecher commented 8 years ago

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 commented 8 years ago

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

Rombur commented 8 years ago

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

tjhei commented 8 years ago

opinions on 1) create a repo at github.com/dealii/ ? 2) If yes, what to call it "installer" or "candi"?

davydden commented 8 years ago

1) + 2) "bash-installer" ?

tjhei commented 8 years ago

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 commented 8 years ago

Any updates on this issue? Can we close?

davydden commented 8 years ago

@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 https://github.com/dealii/dealii/issues/2843

tamiko commented 7 years ago

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.