CGAL / cgal

The public CGAL repository, see the README below
https://github.com/CGAL/cgal#readme
Other
4.82k stars 1.37k forks source link

Provide virtual GNU/Linux images with pre-installed CGAL + compiled demos #888

Open sgiraudot opened 8 years ago

sgiraudot commented 8 years ago

It can be useful to provide ready-to-use Virtual Box images for users who want to quickly try CGAL without going through the install process of all the dependencies (typically for teaching purposes). This has been experimented for some CGAL classes and it is usually popular and working well.

We could provide such an image officially, updated for each release (every 6 months).

https://cgal.geometryfactory.com/CGAL/Members/wiki/Meetings/Sophia16#.E2.9C.94_Virtual_box_solution_for_teaching

lrineau commented 8 years ago

The issue #904 is about the documentation of constructing a virtual image.

sgiraudot commented 7 years ago

I made a few trials with the issue a while ago, and I could not manage to create images that were less than 3GB. As it seemed a bit of an overkill to me, I put this issue aside. Do we think it's a good idea to provide a 3GB download for this?

I think an alternative lightweight solution would be to provide dedicated script (for Ubuntu, for example, as it is the distro that is the most used by inexperienced users – and this idea of a VBox image is mainly dedicated to inexperienced users) that:

But as most GNU/Linux distros (Ubuntu included) provide CGAL and demos with the package manager, the added value might be quite thin in that case… What do you think? (cc @lrineau @afabri @palliez )

lrineau commented 7 years ago

I have re-added the "dev-meeting" label.

lrineau commented 7 years ago

I think that is mostly for teaching, so that all student can work on the same image, whichever system they run (Windows, a distribution of Linux, MacOS). That makes the life of the teacher easier.

lrineau commented 7 years ago

By the way, about the "dev meeting" label, do you remember at which meeting it was discussed?

sgiraudot commented 7 years ago

The one of March 2016. If I remember correctly, that was a meeting were you put issues during the meeting so that we keep track of what was decided.

lrineau commented 7 years ago

https://cgal.geometryfactory.com/CGAL/Members/wiki/Meetings/Sophia16#.E2.9C.94_Virtual_box_solution_for_teaching

afabri commented 7 years ago

Daniele Panozzo from the libigl project told me that their users can either just download their lib, or download at the same time the dependencies.

lrineau commented 6 years ago

@afabri, in https://github.com/CGAL/cgal/issues/888#issuecomment-316703329:

Daniele Panozzo from the libigl project told me that their users can either just download their lib, or download at the same time the dependencies.

Our dependency to Boost is the issue. Remember that long ago the Windows installer was also able to download all dependencies of CGAL, but after a few years for Boost we gave up. And for GMP, we are really bad, because we still ship with an ancient version of GMP, on Windows. We should probably evaluate MPIR as a replacement.

lrineau commented 6 years ago

@palliez @sgiraudot Do we still have the need for virtualbox images shipping CGAL?

sgiraudot commented 6 years ago

I made some trials at the time, and my main concern was that I could not reduce the size of the VBox image to less than 3.5GB, which seemed like an overkill… I don't really know what to do.

The best solution would probably be to create a lightweight installation image (not an image of the installed and set-up system that takes several GB) derived from an existing GNU/Linux ISO + a script that would install the additional package needed, set environment variables, etc. (that way, students could just load this image in VBox and install it, it would be a bit longer because of the packages to download of course), but I don't know how to do this and I don't know if it's easy to do/maintain.

cjamin commented 6 years ago

What about Docker?

lrineau commented 6 years ago

Docker (or OCI containers) do not have the same scope of use.

  1. Docker/OCI is Linux-centric. I know Windows and MacOS can run Docker either in a virtual machine or an emulation layer but that might complicate things.

  2. That is really hard to use Docker and run a graphical application. Even on a Linux machine, that is tricky, not robust, and unsafe. And on a Windows machine... I think it might be doable.... but forget it! There is no way you can have a group of students setting up the environment in time. The VirtualBox environment is a lot easier to use.

lrineau commented 6 years ago

If I remember well, @efifogel @HoffmannMichael and @palliez were the developers interested by the topic. Are you still interested? Do you use VirtualBox in your teaching?

Because maintaining those images twice a year when the CGAL versions are published can be a difficult matter. And we will not support that effort is the need is low or uncertain.

HoffmannMichael commented 6 years ago

We provide a virtualbox image with CGAL and boost preinstalled for students, see the link on

https://www.cadmo.ethz.ch/education/lectures/HS17/algolab/index.html

On 16 Mar 2018, at 05:35, Laurent Rineau notifications@github.com<mailto:notifications@github.com> wrote:

If I remember well, @efifogelhttps://github.com/efifogel @HoffmannMichaelhttps://github.com/hoffmannmichael and @palliezhttps://github.com/palliez were the developers interested by the topic. Are you still interested? Do you use VirtualBox in your teaching?

Because maintaining those images twice a year when the CGAL versions are published can be a difficult matter. And we will not support that effort is the need is low or uncertain.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/CGAL/cgal/issues/888#issuecomment-373655589, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKyZmmuM5FMW0Nvhg5ZL-kzNSRLaUKBuks5te4d1gaJpZM4Hq0pu.

lrineau commented 6 years ago

@palliez You asked for idea in teaching, at the developers meeting. You can have a look at what does Michael, in the link https://www.cadmo.ethz.ch/education/lectures/HS17/algolab/index.html

@HoffmannMichael Thanks for sharing that link. How did you build that image. Do you know command line tools that could help administrating those images (upgrading CGAL...)?

lrineau commented 6 years ago

This could help maintaining an updated image automatically: https://askubuntu.com/a/490423/297468

HoffmannMichael commented 6 years ago

Attached are the instruction notes by the guy who did it.

On 16 Mar 2018, at 08:26, Laurent Rineau notifications@github.com<mailto:notifications@github.com> wrote:

@palliezhttps://github.com/palliez You asked for idea in teaching, at the developers meeting. You can have a look at what does Michael, in the link https://www.cadmo.ethz.ch/education/lectures/HS17/algolab/index.html

@HoffmannMichaelhttps://github.com/hoffmannmichael Thanks for sharing that link. How did you build that image. Do you know command line tools that could help administrating those images (upgrading CGAL...)?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/CGAL/cgal/issues/888#issuecomment-373698226, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKyZmhQoq3KoAmmHa7JQ13wHGtm2cF7yks5te696gaJpZM4Hq0pu.

General Information:

Algolab VM with Xubuntu 15.04 and the most recent library verisons available for (X)ubuntu.


Installed Packages:

-First update (via terminal-emulator, i.e. sudo apt-get update sudo apt-get upgrade):

-System update

-Installed g++ (apt-get install build-essential) (was already installed)

-Installed xorg-dev (apt-get)

-Installed konsole (to make Kate-terminal work) (apt-get)

-Installed geany (apt-get)

-Installed libboost-all-dev (apt-get) -> boost 1.55

-Installed libcgal-dev (apt-get) -> cgal 4.5

-Installed cmake (apt-get) cmake cmake-data

-Installed gedit (apt-get with --no-install-recommends)


Final Steps:

General Information:

For fall 2016, I took the version from last year (Xubuntu 15.04) and updated it to Xubuntu 16.04.

After that, I checked whether we can still compile our default codes for C++11, CGAL and BGL.

The CGAL installation was broken and I had to install the additional packages libcgal-qt5-11 and libcgal-qt5-dev

Also, the VirtualBox guest additions were broken (auto-resize did not work anymore). To fix this: sudo apt-get install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

The versions in the VM now are: Operating System on Algolab VM: Xubuntu 16.04 (4.4.0-36-generic i686 from uname -a) G++ Compiler: 5.4.0 (from g++ -v) Boost Version: 1.58 (from /usr/include/boost/version.hpp) CGAL: 4.7 (from /usr/include/CGAL/version.h)


Final Steps:

General Information:

For fall 2017, I took the version from last year (Xubuntu 16.04) and updated it: sudo apt-get update sudo apt-get upgrade (no major OS update needed)

After that, I checked whether we can still compile our default codes for C++11, CGAL and BGL.

The CGAL installation was broken and I had to install the additional packages libcgal-qt5-11 and libcgal-qt5-dev

Also, the VirtualBox guest additions were broken (auto-resize did not work anymore). To fix this: sudo apt-get install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

The versions in the VM now are: Operating System on Algolab VM: Xubuntu 16.04 (4.4.0-96-generic i686 from uname -a) G++ Compiler: 5.4.0 (from g++ -v) Boost Version: 1.58 (from /usr/include/boost/version.hpp) CGAL: 4.7 (from /usr/include/CGAL/version.h)


Final Steps: