Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Easy" setup of msml for Windows (using a package manager) #197

Open
dschauba opened this issue Dec 15, 2014 · 8 comments
Open

"Easy" setup of msml for Windows (using a package manager) #197

dschauba opened this issue Dec 15, 2014 · 8 comments

Comments

@dschauba
Copy link

By using chocolatey (https://chocolatey.org/), a package manager for Windows, it could be possible to provide easy setup of MSML for Windows.
They (the developers of chocolately) state that it is just like apt-get, but for Windows.

oneget is similar (based on chocolately, i think): https://github.com/OneGet/oneget
Apparently, oneget will be included in Windows 10/new powershell versions.

On your oppinion, would it be helpfull to maintain a repository, containing prebuild cgal, vtk, sofa, msml, ... so msml users could perform an easy installation of MSML?

@wadoon
Copy link
Member

wadoon commented Dec 15, 2014

I think the first step would be CPack within cmake for generating an installer.

@dschauba
Copy link
Author

Ok, this installer would contain all dependencies for msml (all libraries, like cgal)?

@wadoon
Copy link
Member

wadoon commented Dec 15, 2014

You need to put it in the installer.

@ssuwelack
Copy link
Contributor

A slighlty different direction would be to extend the superbuild function to (optionally) include other libraries such as Sofa and CGAL. From there it should be easy to build an installable package using CPack.

markus-stoll pushed a commit that referenced this issue Dec 18, 2014
wadoon added a commit that referenced this issue Dec 23, 2014
* CPack:
  add proper install targets
  #197 CPack & GET_PREREQUISITES
@dschauba
Copy link
Author

Would it be acceptable to drop all files(binaries and stuff) from libraries like cgal, vtk, ... in msml binary folder?
This would remove the need to correctly set environment variables.

@wadoon
Copy link
Member

wadoon commented Dec 25, 2014

No.

An installable package on linux is this very simple.
All libraries are installed under /lib, all Python modules under /lib/python2.7/site-packages/.
If you want to install under the prefix /usr/local/ it is a little bit nasty, but nothing that can't be fixed with .bashrc.
The open thing is to find a nice place for the alphabet, maybe /usr/share/msml/alphabet.
Additionally, we adapt the msml.envconfig. No hard work, most things are done in CPack branch.

In my opinion it is not very wise to make a super installation package with all your dependency under Linux. If we gonna make a distribution package, we will use the distribution packages of VTK, cgal, etc…, and we should even pack ACVD as an own package. (and give it back to the authors).

On windows the world looks different, so different that an installation package could bring it's own Python. It depends on the user experience you want to achieve.
In my opinion, it is simpler to create an windows installer, that automatically download install binary version of the needed software, as to create one big package with all DLLs.

Consider, one feature of MSML is the reusable C++ operators, if we compile and link MSML against own self compiled libs, we loose compatibility. Eventually, our users end up in the DLL hell.

I don't want to be Sofa Framework, that brings it's own libtinyxml.so and destroys your whole systems.

cpack_configure_downloads

@dschauba
Copy link
Author

Windows side:
Are there any sites providing prebuild vtk, cgal and so on?
(or, user could select an already installed version of these libs in installer)

Packing everything together would provide some kind of plug-and-play experience, but could also let to nasty DLL Hell, of course ;).

@wadoon
Copy link
Member

wadoon commented Dec 29, 2014

The problem is the compatibility with the user environment.
We can encapsulate the MSML system, and do not offer C++ user extension.

For the out-of-box feeling, web services are in the planning phase, at least for the SFB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants