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

Installing in a multi-user environment #36

Open
TechTodd opened this issue Aug 16, 2017 · 1 comment
Open

Installing in a multi-user environment #36

TechTodd opened this issue Aug 16, 2017 · 1 comment

Comments

@TechTodd
Copy link

Any suggestions on the best way to install this in a university lab environment running windows10. The installer doesn't recommend running as admin to do a global install. Installing as a user doesn't make the resources available to all users on the machine/domain. Also seems like ever user that logs in will have a local directory called C:\OCaml64<username>.ocaml that will house any packages that are installed by the user.

Any suggestions would be appreciated.

Thanks,
Todd

@fdopen
Copy link
Owner

fdopen commented Aug 16, 2017

It's intentionally installed outside the usual hierarchy. Your user name is often something like François Noël and your files are stored under C:\Users\François Noël\..., so the path will likely contain a space character and possibly unicode chars. The OCaml compiler itself already can't deal with it and many build instructions are unix centric and won't work as well. Storing the files under C:\Ocaml64\home\username will circumvent all these problems (the installer will also remove any space and non-ascii chars from the user home directory under C:\Ocaml64\home\...)

I didn't recommend to run the installer as administrator, because only this way you can install external packages easily with opam install depext depext-cygwinports && opam depext -i lablgtk zarith. Otherwise I would have to add something like su support to depext - and I was too lazy to do it.

You can however change the default location where your files are stored and even share a common opam switch between different users by setting the OPAMROOT environment variable (or with opam --root).

But what is your aim? Do you want to make a set of packages (one ocaml compiler, ocaml-top, merlin, utop ...) available to all users? Or do you want to enable every user to install her own set of packages in a local opam directory? The former should be rather easy to achieve, the latter will be more tricky because of the mentioned problems with space and unicode characters.

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

No branches or pull requests

2 participants