New comment on block [block-idp9138704] #236

Closed
bolinfest opened this Issue Jan 28, 2013 · 3 comments

Comments

Projects
None yet
3 participants
@bolinfest

I just spent ~45 minutes trying to get everything working. In short, I am NOT happy.

I tried following the instructions in Chapter 1, which basically say all you need to do is:

$ opam init
$ opam switch 4.00.1+short-types
$ opam install utop async core_extended
$ eval opam config -env
$ utop

AFAICT, this is completely false: these instructions are not at all sufficient, as no matter what I tried, open Core.Std failed for me. I checked ocamlc -where and verified that it was /home/mbolin/.opam/4.00.1+short-types/lib/ocaml. I tried passing -I to specify the lib directory just in case, but that did not work, either. I tried doing all sorts of Google searches, but as you know, OCaml is more obscure than other programming languages, so there's not a lot of help on StackOverflow for this sort of thing.

Apparently, typing in all of the commands in this section is what I finally needed to do.

I would not have ignored this section if Chapter 1 had not made it sound like it should be so simple to install OCaml. If people get utop working but can't install Core, then I think many of your examples will not work for them and your readers will be extremely upset.

I know that you want to dive right into the language in Chapter 1, but if you do not emphasize how important it is to get set up correctly (and provide the instructions to do so), then your readers will be unsuccessful.

Also, it seems like I should put the following steps (or something like them) into my ~/.bashrc:

$ opam init
$ opam switch 4.00.1+short-types
$ opam install utop async core_extended
$ eval opam config -env

You should be explicit about this, as well. For example: which of these commands do I have to run every time? It seems weird to have to run opam install utop async core_extended every time. Similarly, I was very surprised that utop did not end up in /usr/bin after doing sudo make install.

@bactrian

This comment has been minimized.

Show comment Hide comment
@bactrian

bactrian Jan 28, 2013

This comment references this from milestone alpha2: http://www.realworldocaml.org/alpha2/en/html/installation.html#idp9138704

Context:

TODO: the .ocamlinit handling in OPAM is being finalised and is tracked in issue 185.

This comment references this from milestone alpha2: http://www.realworldocaml.org/alpha2/en/html/installation.html#idp9138704

Context:

TODO: the .ocamlinit handling in OPAM is being finalised and is tracked in issue 185.
@avsm

This comment has been minimized.

Show comment Hide comment
@avsm

avsm Feb 17, 2013

Owner

I've added a preface section which explains why this isn't "just ocaml", but also "ocaml + core". This also has a note to reviewers warning them to get installed properly first, with a pointer to Appendix A: Installation.

I'm holding this issue open to further explain why utop doesn't show up in /usr/bin as you expected.

Owner

avsm commented Feb 17, 2013

I've added a preface section which explains why this isn't "just ocaml", but also "ocaml + core". This also has a note to reviewers warning them to get installed properly first, with a pointer to Appendix A: Installation.

I'm holding this issue open to further explain why utop doesn't show up in /usr/bin as you expected.

@avsm

This comment has been minimized.

Show comment Hide comment
@avsm

avsm Feb 17, 2013

Owner

I've elaborated more on what files get installed where, and also which commands only need to be run once, and also improved the TL;DR at the start of the guided tour to remind the user to create an ocamlinit file.

There's still some explanation left about what ocamlfind does, but I've marked a TODO there.

Owner

avsm commented Feb 17, 2013

I've elaborated more on what files get installed where, and also which commands only need to be run once, and also improved the TL;DR at the start of the guided tour to remind the user to create an ocamlinit file.

There's still some explanation left about what ocamlfind does, but I've marked a TODO there.

@avsm avsm closed this Feb 17, 2013

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