title: How do I install the OCaml Core library on (Arch) Linux x86_64?
body: <pre><code>$ ocaml -version
  The OCaml toplevel, version 4.02.1
  $ opam --version
  1.2.0
  $ opam init 
  $ opam install core
  
  #=== ERROR while installing camlp4.4.02.1+system ==============================#
  # opam-version 1.2.0
  # os           linux
  # command      sh ./check-camlp4.sh
  # path         /home/john/.opam/system/build/camlp4.4.02.1+system
  # compiler     system (4.02.1)
  # exit-code    1
  # env-file     /home/john/.opam/system/build/camlp4.4.02.1+system/camlp4-32324-f0f09f.env
  # stdout-file  /home/john/.opam/system/build/camlp4.4.02.1+system/camlp4-32324-f0f09f.out
  # stderr-file  /home/john/.opam/system/build/camlp4.4.02.1+system/camlp4-32324-f0f09f.err
  ### stdout ###
  # ...[truncated]
  # 4.02 by switching to a local installation via `opam switch 4.02.1`.
  # 
  # Here are some installation instructions for camlp4 if you obtained OCaml
  # via the OPAM binary packages:
  # 
  # http://software.opensuse.org/download.html?project=home%3Aocaml&amp;package=ocaml
  # 
  # * Debian/Ubuntu: sudo apt-get install camlp4-extra
  # * RHEL/CentOS/Fedora: sudo yum install ocaml-camlp4
  # 
  ### stderr ###
  # ./check-camlp4.sh: line 3: camlp4orf: command not foun
  </code></pre>
  
  <p>I answered <em>yes</em> to the auto-complete scripts question during <code>opam init</code>. Also, the truncated portion of the error suggests the following:</p>
  
  <blockquote>
    <p>Please install a system-wide version of camlp4.  This is necessary
    since you are using OCaml 4.02.1 and the system compiler switch (which
    uses your preexisting installation rather than compile one from
    scratch).</p>
    
    <p>If you cannot install a system-wide camlp4, then you can still use
    OCaml
    4.02 by switching to a local installation via <code>opam switch 4.02.1</code></p>
  </blockquote>
  
  <pre><code># pacman -S camlp4
  $ opam install camlp4
  $ opam info camlp4
              package: camlp4
              version: 4.02.1+system
           repository: default
             homepage: https://github.com/ocaml/camlp4
              license: LGPLv2
    installed-version: 4.02.1+system [system]
  </code></pre>
  
  <p>Once again...</p>
  
  <pre><code>$ opam install core
  
  #=== ERROR while installing herelib.109.35.02 =================================#
  # opam-version 1.2.0
  # os           linux
  # command      make
  # path         /home/john/.opam/system/build/herelib.109.35.02
  # compiler     system (4.02.1)
  # exit-code    2
  # env-file     /home/john/.opam/system/build/herelib.109.35.02/herelib-31366-c61e7b.env
  # stdout-file  /home/john/.opam/system/build/herelib.109.35.02/herelib-31366-c61e7b.out
  # stderr-file  /home/john/.opam/system/build/herelib.109.35.02/herelib-31366-c61e7b.err
  ### stdout ###
  # ...[truncated]
  # ocamlfind ocamlopt -shared -linkall lib/herelib.cmxa -o lib/herelib.cmxs
  # ocamlfind ocamldep -syntax camlp4o -package camlp4.extend -package camlp4.quotations -package camlp4.lib -modules lib/pa_here.mli &gt; lib/pa_here.mli.depends
  # ocamlfind ocamlc -c -g -syntax camlp4o -package camlp4.extend -package camlp4.quotations -package camlp4.lib -I lib -o lib/pa_here.cmi lib/pa_here.mli
  # + ocamlfind ocamlc -c -g -syntax camlp4o -package camlp4.extend -package camlp4.quotations -package camlp4.lib -I lib -o lib/pa_here.cmi lib/pa_here.mli
  # File "lib/pa_here.mli", line 1:
  # Error: The files /usr/lib/ocaml/pervasives.cmi
  #        and /usr/lib/ocaml/camlp4/Camlp4.cmi make inconsistent assumptions
  #        over interface Pervasives
  # Command exited with code 2.
  # Makefile:21: recipe for target 'build' failed
  ### stderr ###
  # File "setup.ml", line 232, characters 8-26:
  # Warning 3: deprecated: String.set
  # Use Bytes.set instead.
  # File "setup.ml", line 2385, characters 6-24:
  # Warning 3: deprecated: Lazy.lazy_from_fun
  # Use Lazy.from_fun instead.
  # E: Failure("Command ''/usr/bin/ocamlbuild' lib/herelib.cma lib/herelib.cmxa lib/herelib.a lib/herelib.cmxs lib/pa_herelib.cma lib/pa_herelib.cmxa lib/pa_here
  lib.a lib/pa_herelib.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
  # make: *** [build] Error 1
  </code></pre>
  
  <p>Do I need to switch to a different compiler?</p>
  
  <pre><code>$ opam switch
  system  C system  System compiler (4.02.1)
  --     -- 3.11.2  Official 3.11.2 release
  --     -- 3.12.1  Official 3.12.1 release
  --     -- 4.00.0  Official 4.00.0 release
  --     -- 4.00.1  Official 4.00.1 release
  --     -- 4.01.0  Official 4.01.0 release
  --     -- 4.02.0  Official 4.02.0 release
  --     -- 4.02.1  Official 4.02.1 release
  </code></pre>