* [Caml-list] Beginner - Cannot set up Core and Batteries @ 2016-08-10 5:52 Kovács Roland 2016-08-10 10:19 ` Kakadu 0 siblings, 1 reply; 4+ messages in thread From: Kovács Roland @ 2016-08-10 5:52 UTC (permalink / raw) To: caml-list, ocaml_beginners [-- Attachment #1: Type: text/plain, Size: 7058 bytes --] Hello Everyone! I'm completely new to OCaml, but I've read that it's a good practice to start by having both Batteries and the Core module installed. I'm using Ubuntu 16.04, and installed ocaml, opam, utop from the official PPAs as it seemed that the one provided for Ubuntu (|avsm/ppa) is not working for 16.04! After installation I did opam init, and all the setups it asked me to do. In my .ocamlinit file I have what I've found as a fix for the error 'unbound module'. For one time utop found the modules, but since then it gives me an error. |Cheers, Roland |||-------------------------------------------------------------------- ||Judging by the output of opam, the packages should be installed correctly : $ opam list # Installed packages for system: base-bigarray base Bigarray library distributed with the OCaml compi base-bytes base Bytes library distributed with the OCaml compiler base-ocamlbuild base OCamlbuild binary and libraries distributed with base-threads base Threads library distributed with the OCaml compil base-unix base Unix library distributed with the OCaml compiler batteries 2.5.2 a community-maintained standard library extension bin_prot 113.33.03 A binary protocol generator cmdliner 0.9.8 Declarative definition of command line interfaces conf-m4 1 Virtual package relying on m4 core 113.33.03 Industrial strength alternative to OCaml's standa core_kernel 113.33.03 Industrial strength alternative to OCaml's standa cppo 1.3.2 Equivalent of the C preprocessor for OCaml progra depext 1.0.1 Query and install external dependencies of OPAM p fieldslib 113.33.03 Syntax extension to define first class values rep js-build-tools 113.33.04 Collection of tools to help building Jane Street ocamlbuild 0 Build system distributed with the OCaml compiler ocamlfind 1.6.2 A library manager for OCaml ppx_assert 113.33.03 Assert-like extension nodes that raise useful err ppx_bench 113.33.03 Syntax extension for writing in-line benchmarks i ppx_bin_prot 113.33.03 Generation of bin_prot readers and writers from t ppx_compare 113.33.03 Generation of comparison functions from types ppx_core 113.33.03 Standard library for ppx rewriters ppx_custom_printf 113.33.03 Printf-style format-strings for user-defined stri ppx_deriving 4.0 Type-driven code generation for OCaml >=4.02 ppx_driver 113.33.03 Feature-full driver for OCaml AST transformers ppx_enumerate 113.33.03 Generate a list containing all values of a finite ppx_expect 113.33.03 Cram like framework for OCaml ppx_fail 113.33.03 Add location to calls to failwiths ppx_fields_conv 113.33.03 Generation of accessor and iteration functions fo ppx_here 113.33.03 Expands [%here] into its location ppx_inline_test 113.33.03 Syntax extension for writing in-line tests in oca ppx_jane 113.33.03 Standard Jane Street ppx rewriters ppx_let 113.33.03 Monadic let-bindings ppx_optcomp 113.33.03 Optional compilation for OCaml ppx_pipebang 113.33.03 A ppx rewriter that inlines reverse application o ppx_sexp_conv 113.33.03 Generation of S-expression conversion functions f ppx_sexp_message 113.33.03 A ppx rewriter for easy construction of s-express ppx_sexp_value 113.33.03 A ppx rewriter that simplifies building s-express ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and other synt ppx_type_conv 113.33.03 Support Library for type-driven code generators ppx_typerep_conv 113.33.03 Generation of runtime types from type declaration ppx_variants_conv 113.33.03 Generation of accessor and iteration functions fo re 1.6.1 RE is a regular expression library for OCaml result 1.2 Compatibility Result module sexplib 113.33.03 Library for serializing OCaml values to and from typerep 113.33.03 typerep is a library for runtime types. variantslib 113.33.03 Part of Jane Street's Core library | ||-------------------------------------------------------------------- |My .ocmalinit : ||#use "topfind";; #thread;; #camlp4o;; #require "core.std";; #require "core.syntax";; #require "batteries";; let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_found -> () ;||; -------------------------------------------------------------------- What ocaml prints : $ ocaml OCaml version 4.02.3 Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads /usr/lib/ocaml/threads: added to search path /usr/lib/ocaml/unix.cma: loaded /usr/lib/ocaml/threads/threads.cma: loaded /usr/lib/ocaml/dynlink.cma: loaded /usr/lib/ocaml/camlp4: added to search path /usr/lib/ocaml/camlp4/camlp4o.cma: loaded No such package: core.std /home/zen3ger/.opam/system/lib/core: added to search path /usr/lib/ocaml/nums.cma: loaded /home/zen3ger/.opam/system/lib/num-top: added to search path /home/zen3ger/.opam/system/lib/num-top/num_top.cma: loaded Camlp4 Parsing version 4.02.3 /home/zen3ger/.opam/system/lib/num: added to search path /usr/lib/ocaml/bigarray.cma: loaded /usr/lib/ocaml/str.cma: loaded /home/zen3ger/.opam/system/lib/bytes: added to search path /home/zen3ger/.opam/system/lib/batteries: added to search path /home/zen3ger/.opam/system/lib/batteries/batteries.cma: loaded /home/zen3ger/.opam/system/lib/batteries/batteriesConfig.cmo: loaded /home/zen3ger/.opam/system/lib/batteries/batteriesHelp.cmo: loaded /home/zen3ger/.opam/system/lib/batteries/batteriesPrint.cmo: loaded /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded | ||-------------------------------------------------------------------- What utop prints : Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads No such package: core.std No such package: core.syntax No such package: batteries || [-- Attachment #2: Type: text/html, Size: 10565 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Caml-list] Beginner - Cannot set up Core and Batteries 2016-08-10 5:52 [Caml-list] Beginner - Cannot set up Core and Batteries Kovács Roland @ 2016-08-10 10:19 ` Kakadu [not found] ` <591153db-3b69-cacc-35cc-83096ca2a145@gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Kakadu @ 2016-08-10 10:19 UTC (permalink / raw) To: Kovács Roland; +Cc: Caml List, ocaml_beginners Can you try the same without line about `camlp4` in your ~/.ocamlinit file? It is very likely that you will not need it at all because modern versions of libraries doesn't require it anymore. Also, I can recommend you to compile ocaml locally using `opam switch 4.02.3 && eval $(opam config env)` command. kakadu On Wed, Aug 10, 2016 at 8:52 AM, Kovács Roland <zen3ger@gmail.com> wrote: > Hello Everyone! > > I'm completely new to OCaml, but I've read that it's a good practice to > start by having both Batteries and the Core module installed. > I'm using Ubuntu 16.04, and installed ocaml, opam, utop from the official > PPAs as it seemed that the one provided for Ubuntu (avsm/ppa) is not working > for 16.04! > > After installation I did opam init, and all the setups it asked me to do. In > my .ocamlinit file I have what I've found as a fix for the error 'unbound > module'. > For one time utop found the modules, but since then it gives me an error. > > > Cheers, > Roland > -------------------------------------------------------------------- > Judging by the output of opam, the packages should be installed correctly : > > $ opam list > # Installed packages for system: > base-bigarray base Bigarray library distributed with the OCaml > compi > base-bytes base Bytes library distributed with the OCaml > compiler > base-ocamlbuild base OCamlbuild binary and libraries distributed > with > base-threads base Threads library distributed with the OCaml > compil > base-unix base Unix library distributed with the OCaml > compiler > batteries 2.5.2 a community-maintained standard library > extension > bin_prot 113.33.03 A binary protocol generator > cmdliner 0.9.8 Declarative definition of command line > interfaces > conf-m4 1 Virtual package relying on m4 > core 113.33.03 Industrial strength alternative to OCaml's > standa > core_kernel 113.33.03 Industrial strength alternative to OCaml's > standa > cppo 1.3.2 Equivalent of the C preprocessor for OCaml > progra > depext 1.0.1 Query and install external dependencies of > OPAM p > fieldslib 113.33.03 Syntax extension to define first class values > rep > js-build-tools 113.33.04 Collection of tools to help building Jane > Street > ocamlbuild 0 Build system distributed with the OCaml > compiler > ocamlfind 1.6.2 A library manager for OCaml > ppx_assert 113.33.03 Assert-like extension nodes that raise useful > err > ppx_bench 113.33.03 Syntax extension for writing in-line > benchmarks i > ppx_bin_prot 113.33.03 Generation of bin_prot readers and writers > from t > ppx_compare 113.33.03 Generation of comparison functions from types > ppx_core 113.33.03 Standard library for ppx rewriters > ppx_custom_printf 113.33.03 Printf-style format-strings for user-defined > stri > ppx_deriving 4.0 Type-driven code generation for OCaml >=4.02 > ppx_driver 113.33.03 Feature-full driver for OCaml AST > transformers > ppx_enumerate 113.33.03 Generate a list containing all values of a > finite > ppx_expect 113.33.03 Cram like framework for OCaml > ppx_fail 113.33.03 Add location to calls to failwiths > ppx_fields_conv 113.33.03 Generation of accessor and iteration > functions fo > ppx_here 113.33.03 Expands [%here] into its location > ppx_inline_test 113.33.03 Syntax extension for writing in-line tests in > oca > ppx_jane 113.33.03 Standard Jane Street ppx rewriters > ppx_let 113.33.03 Monadic let-bindings > ppx_optcomp 113.33.03 Optional compilation for OCaml > ppx_pipebang 113.33.03 A ppx rewriter that inlines reverse > application o > ppx_sexp_conv 113.33.03 Generation of S-expression conversion > functions f > ppx_sexp_message 113.33.03 A ppx rewriter for easy construction of > s-express > ppx_sexp_value 113.33.03 A ppx rewriter that simplifies building > s-express > ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and other > synt > ppx_type_conv 113.33.03 Support Library for type-driven code > generators > ppx_typerep_conv 113.33.03 Generation of runtime types from type > declaration > ppx_variants_conv 113.33.03 Generation of accessor and iteration > functions fo > re 1.6.1 RE is a regular expression library for OCaml > result 1.2 Compatibility Result module > sexplib 113.33.03 Library for serializing OCaml values to and > from > typerep 113.33.03 typerep is a library for runtime types. > variantslib 113.33.03 Part of Jane Street's Core library > > > -------------------------------------------------------------------- > My .ocmalinit : > > #use "topfind";; > #thread;; > #camlp4o;; > #require "core.std";; > #require "core.syntax";; > #require "batteries";; > > let () = > try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") > with Not_found -> () > ;; > > -------------------------------------------------------------------- > What ocaml prints : > > $ ocaml > OCaml version 4.02.3 > Findlib has been successfully loaded. Additional directives: > #require "package";; to load a package > #list;; to list the available packages > #camlp4o;; to load camlp4 (standard syntax) > #camlp4r;; to load camlp4 (revised syntax) > #predicates "p,q,...";; to set these predicates > Topfind.reset();; to force that packages will be reloaded > #thread;; to enable threads > > /usr/lib/ocaml/threads: added to search path > /usr/lib/ocaml/unix.cma: loaded > /usr/lib/ocaml/threads/threads.cma: loaded > /usr/lib/ocaml/dynlink.cma: loaded > /usr/lib/ocaml/camlp4: added to search path > /usr/lib/ocaml/camlp4/camlp4o.cma: loaded > No such package: core.std > /home/zen3ger/.opam/system/lib/core: added to search path > /usr/lib/ocaml/nums.cma: loaded > /home/zen3ger/.opam/system/lib/num-top: added to search path > /home/zen3ger/.opam/system/lib/num-top/num_top.cma: loaded > Camlp4 Parsing version 4.02.3 > > /home/zen3ger/.opam/system/lib/num: added to search path > /usr/lib/ocaml/bigarray.cma: loaded > /usr/lib/ocaml/str.cma: loaded > /home/zen3ger/.opam/system/lib/bytes: added to search path > /home/zen3ger/.opam/system/lib/batteries: added to search path > /home/zen3ger/.opam/system/lib/batteries/batteries.cma: loaded > /home/zen3ger/.opam/system/lib/batteries/batteriesConfig.cmo: loaded > /home/zen3ger/.opam/system/lib/batteries/batteriesHelp.cmo: loaded > /home/zen3ger/.opam/system/lib/batteries/batteriesPrint.cmo: loaded > /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded > /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded > > > -------------------------------------------------------------------- > What utop prints : > > Findlib has been successfully loaded. Additional directives: > #require "package";; to load a package > #list;; to list the available packages > #camlp4o;; to load camlp4 (standard syntax) > #camlp4r;; to load camlp4 (revised syntax) > #predicates "p,q,...";; to set these predicates > Topfind.reset();; to force that packages will be reloaded > #thread;; to enable threads > > No such package: core.std > No such package: core.syntax > No such package: batteries > ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <591153db-3b69-cacc-35cc-83096ca2a145@gmail.com>]
* Re: [Caml-list] Beginner - Cannot set up Core and Batteries [not found] ` <591153db-3b69-cacc-35cc-83096ca2a145@gmail.com> @ 2016-08-10 10:53 ` Kakadu [not found] ` <e4cfcdca-49ee-7185-b4c0-903aca6b02ae@gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Kakadu @ 2016-08-10 10:53 UTC (permalink / raw) To: Kovács Roland; +Cc: Caml List It seems that you have done `opam switch` and now some packages are not installed. (I.e. opam doesn't look for packages installled in /usr/lib anymore.) So, toplevel gives you an error about unknown topfind. It's likely that `opam install core batteries utop` will fix that. But it is a little bit strange that utop still prints the same. It is likely that you have a little bit dirty environment. You can try to reopen terminal and try again and see that result differs. Don't forget to do `eval $(opam config env)` at the beginnning! Kakadu On Wed, Aug 10, 2016 at 1:48 PM, Kovács Roland <zen3ger@gmail.com> wrote: > Hi! > > Thans for the tip! > > I've tried and utop still prints exactly the same, and it still imports > camlp4, while ocaml prints another error now: > > $ ocaml > OCaml version 4.02.3 > > Cannot find file topfind. > Unknown directive `thread'. > > Roland > > > 2016-08-10 12:19 keltezéssel, Kakadu írta: >> >> Can you try the same without line about `camlp4` in your ~/.ocamlinit >> file? It is very likely that you will not need it at all because >> modern versions of libraries doesn't require it anymore. >> >> Also, I can recommend you to compile ocaml locally using `opam switch >> 4.02.3 && eval $(opam config env)` command. >> >> kakadu >> >> >> >> >> >> On Wed, Aug 10, 2016 at 8:52 AM, Kovács Roland <zen3ger@gmail.com> wrote: >>> >>> Hello Everyone! >>> >>> I'm completely new to OCaml, but I've read that it's a good practice to >>> start by having both Batteries and the Core module installed. >>> I'm using Ubuntu 16.04, and installed ocaml, opam, utop from the official >>> PPAs as it seemed that the one provided for Ubuntu (avsm/ppa) is not >>> working >>> for 16.04! >>> >>> After installation I did opam init, and all the setups it asked me to do. >>> In >>> my .ocamlinit file I have what I've found as a fix for the error 'unbound >>> module'. >>> For one time utop found the modules, but since then it gives me an error. >>> >>> >>> Cheers, >>> Roland >>> -------------------------------------------------------------------- >>> Judging by the output of opam, the packages should be installed correctly >>> : >>> >>> $ opam list >>> # Installed packages for system: >>> base-bigarray base Bigarray library distributed with the >>> OCaml >>> compi >>> base-bytes base Bytes library distributed with the OCaml >>> compiler >>> base-ocamlbuild base OCamlbuild binary and libraries >>> distributed >>> with >>> base-threads base Threads library distributed with the OCaml >>> compil >>> base-unix base Unix library distributed with the OCaml >>> compiler >>> batteries 2.5.2 a community-maintained standard library >>> extension >>> bin_prot 113.33.03 A binary protocol generator >>> cmdliner 0.9.8 Declarative definition of command line >>> interfaces >>> conf-m4 1 Virtual package relying on m4 >>> core 113.33.03 Industrial strength alternative to OCaml's >>> standa >>> core_kernel 113.33.03 Industrial strength alternative to OCaml's >>> standa >>> cppo 1.3.2 Equivalent of the C preprocessor for OCaml >>> progra >>> depext 1.0.1 Query and install external dependencies of >>> OPAM p >>> fieldslib 113.33.03 Syntax extension to define first class >>> values >>> rep >>> js-build-tools 113.33.04 Collection of tools to help building Jane >>> Street >>> ocamlbuild 0 Build system distributed with the OCaml >>> compiler >>> ocamlfind 1.6.2 A library manager for OCaml >>> ppx_assert 113.33.03 Assert-like extension nodes that raise >>> useful >>> err >>> ppx_bench 113.33.03 Syntax extension for writing in-line >>> benchmarks i >>> ppx_bin_prot 113.33.03 Generation of bin_prot readers and writers >>> from t >>> ppx_compare 113.33.03 Generation of comparison functions from >>> types >>> ppx_core 113.33.03 Standard library for ppx rewriters >>> ppx_custom_printf 113.33.03 Printf-style format-strings for >>> user-defined >>> stri >>> ppx_deriving 4.0 Type-driven code generation for OCaml >>> >=4.02 >>> ppx_driver 113.33.03 Feature-full driver for OCaml AST >>> transformers >>> ppx_enumerate 113.33.03 Generate a list containing all values of a >>> finite >>> ppx_expect 113.33.03 Cram like framework for OCaml >>> ppx_fail 113.33.03 Add location to calls to failwiths >>> ppx_fields_conv 113.33.03 Generation of accessor and iteration >>> functions fo >>> ppx_here 113.33.03 Expands [%here] into its location >>> ppx_inline_test 113.33.03 Syntax extension for writing in-line tests >>> in >>> oca >>> ppx_jane 113.33.03 Standard Jane Street ppx rewriters >>> ppx_let 113.33.03 Monadic let-bindings >>> ppx_optcomp 113.33.03 Optional compilation for OCaml >>> ppx_pipebang 113.33.03 A ppx rewriter that inlines reverse >>> application o >>> ppx_sexp_conv 113.33.03 Generation of S-expression conversion >>> functions f >>> ppx_sexp_message 113.33.03 A ppx rewriter for easy construction of >>> s-express >>> ppx_sexp_value 113.33.03 A ppx rewriter that simplifies building >>> s-express >>> ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and >>> other >>> synt >>> ppx_type_conv 113.33.03 Support Library for type-driven code >>> generators >>> ppx_typerep_conv 113.33.03 Generation of runtime types from type >>> declaration >>> ppx_variants_conv 113.33.03 Generation of accessor and iteration >>> functions fo >>> re 1.6.1 RE is a regular expression library for >>> OCaml >>> result 1.2 Compatibility Result module >>> sexplib 113.33.03 Library for serializing OCaml values to >>> and >>> from >>> typerep 113.33.03 typerep is a library for runtime types. >>> variantslib 113.33.03 Part of Jane Street's Core library >>> >>> >>> -------------------------------------------------------------------- >>> My .ocmalinit : >>> >>> #use "topfind";; >>> #thread;; >>> #camlp4o;; >>> #require "core.std";; >>> #require "core.syntax";; >>> #require "batteries";; >>> >>> let () = >>> try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") >>> with Not_found -> () >>> ;; >>> >>> -------------------------------------------------------------------- >>> What ocaml prints : >>> >>> $ ocaml >>> OCaml version 4.02.3 >>> Findlib has been successfully loaded. Additional directives: >>> #require "package";; to load a package >>> #list;; to list the available packages >>> #camlp4o;; to load camlp4 (standard syntax) >>> #camlp4r;; to load camlp4 (revised syntax) >>> #predicates "p,q,...";; to set these predicates >>> Topfind.reset();; to force that packages will be reloaded >>> #thread;; to enable threads >>> >>> /usr/lib/ocaml/threads: added to search path >>> /usr/lib/ocaml/unix.cma: loaded >>> /usr/lib/ocaml/threads/threads.cma: loaded >>> /usr/lib/ocaml/dynlink.cma: loaded >>> /usr/lib/ocaml/camlp4: added to search path >>> /usr/lib/ocaml/camlp4/camlp4o.cma: loaded >>> No such package: core.std >>> /home/zen3ger/.opam/system/lib/core: added to search path >>> /usr/lib/ocaml/nums.cma: loaded >>> /home/zen3ger/.opam/system/lib/num-top: added to search path >>> /home/zen3ger/.opam/system/lib/num-top/num_top.cma: loaded >>> Camlp4 Parsing version 4.02.3 >>> >>> /home/zen3ger/.opam/system/lib/num: added to search path >>> /usr/lib/ocaml/bigarray.cma: loaded >>> /usr/lib/ocaml/str.cma: loaded >>> /home/zen3ger/.opam/system/lib/bytes: added to search path >>> /home/zen3ger/.opam/system/lib/batteries: added to search path >>> /home/zen3ger/.opam/system/lib/batteries/batteries.cma: loaded >>> /home/zen3ger/.opam/system/lib/batteries/batteriesConfig.cmo: loaded >>> /home/zen3ger/.opam/system/lib/batteries/batteriesHelp.cmo: loaded >>> /home/zen3ger/.opam/system/lib/batteries/batteriesPrint.cmo: loaded >>> /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded >>> /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded >>> >>> >>> -------------------------------------------------------------------- >>> What utop prints : >>> >>> Findlib has been successfully loaded. Additional directives: >>> #require "package";; to load a package >>> #list;; to list the available packages >>> #camlp4o;; to load camlp4 (standard syntax) >>> #camlp4r;; to load camlp4 (revised syntax) >>> #predicates "p,q,...";; to set these predicates >>> Topfind.reset();; to force that packages will be reloaded >>> #thread;; to enable threads >>> >>> No such package: core.std >>> No such package: core.syntax >>> No such package: batteries >>> > ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <e4cfcdca-49ee-7185-b4c0-903aca6b02ae@gmail.com>]
* Re: [Caml-list] Beginner - Cannot set up Core and Batteries [not found] ` <e4cfcdca-49ee-7185-b4c0-903aca6b02ae@gmail.com> @ 2016-08-10 12:13 ` Kakadu 0 siblings, 0 replies; 4+ messages in thread From: Kakadu @ 2016-08-10 12:13 UTC (permalink / raw) To: Kovács Roland; +Cc: Caml List Roland, Please use button `Reply to all` instead of `Reply`. You don't need to change distro, you need just to spend some time for configuration. For example, you can put eval `opam config env` to your ~/.bashrc and opam will be should configured well on every new tterminal Btw, I managed to load core to toplevel. Look what I have typed manually and put this in your ~/.ocamlinit file. N.B. `-no-init` switch forbids toplevel `ocaml` to read ~/.ocamlinit. After that I think that both `ocaml` and `utop` will work. Happy hacking, Kakadu $ ocaml -noinit OCaml version 4.02.3 # #use "topfind";; - : unit = () Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads - : unit = () # #thread;; /home/kakadu/.opam/4.02.3/lib/ocaml/threads: added to search path /home/kakadu/.opam/4.02.3/lib/ocaml/unix.cma: loaded /home/kakadu/.opam/4.02.3/lib/ocaml/threads/threads.cma: loaded # #require "core.top";; /home/kakadu/.opam/4.02.3/lib/ocaml/bigarray.cma: loaded /home/kakadu/.opam/4.02.3/lib/bin_prot: added to search path /home/kakadu/.opam/4.02.3/lib/bin_prot/bin_prot.cma: loaded /home/kakadu/.opam/4.02.3/lib/custom_printf: added to search path /home/kakadu/.opam/4.02.3/lib/custom_printf/custom_printf.cma: loaded /home/kakadu/.opam/4.02.3/lib/variantslib: added to search path /home/kakadu/.opam/4.02.3/lib/variantslib/variantslib.cma: loaded /home/kakadu/.opam/4.02.3/lib/sexplib: added to search path /home/kakadu/.opam/4.02.3/lib/sexplib/sexplib.cma: loaded /home/kakadu/.opam/4.02.3/lib/enumerate: added to search path /home/kakadu/.opam/4.02.3/lib/fieldslib: added to search path /home/kakadu/.opam/4.02.3/lib/fieldslib/fieldslib.cma: loaded /home/kakadu/.opam/4.02.3/lib/pa_bench: added to search path /home/kakadu/.opam/4.02.3/lib/pa_bench/pa_bench_lib.cma: loaded /home/kakadu/.opam/4.02.3/lib/pa_ounit: added to search path /home/kakadu/.opam/4.02.3/lib/pa_ounit/pa_ounit_lib.cma: loaded /home/kakadu/.opam/4.02.3/lib/pa_test: added to search path /home/kakadu/.opam/4.02.3/lib/pa_test/pa_test_lib.cma: loaded /home/kakadu/.opam/4.02.3/lib/typerep_lib: added to search path /home/kakadu/.opam/4.02.3/lib/typerep_lib/typerep_lib.cma: loaded /home/kakadu/.opam/4.02.3/lib/core_kernel: added to search path /home/kakadu/.opam/4.02.3/lib/core_kernel/core_kernel.cma: loaded /home/kakadu/.opam/4.02.3/lib/sexplib_unix: added to search path /home/kakadu/.opam/4.02.3/lib/sexplib_unix/sexplib_unix.cma: loaded /home/kakadu/.opam/4.02.3/lib/pa_structural_sexp: added to search path /home/kakadu/.opam/4.02.3/lib/pa_structural_sexp/pa_structural_sexp_lib.cma: loaded /home/kakadu/.opam/4.02.3/lib/core: added to search path /home/kakadu/.opam/4.02.3/lib/core/core.cma: loaded /home/kakadu/.opam/4.02.3/lib/core/core_top.cma: loaded /home/kakadu/.opam/4.02.3/lib/core/core_top.cma: loaded # open Core.Std;; # On Wed, Aug 10, 2016 at 2:36 PM, Kovács Roland <zen3ger@gmail.com> wrote: > I've removed the utop installed by apt, then did `opam install core > batteries utop` and `eval $(opam config env)`. > > The given errors might be a bug, as now neither utop and ocaml throws an > error when I type `open Core.Std;;` (it's even shown in the suggestions in > utop). > > But now in every terminal session I have to do `eval $(opam config env)` > before I can start using utop. > > Is there a different Linux distro which supports OCaml well, so it's much > simpler to set up? I don't mind distro hopping. > > Roland > > ------------------------------------------------------------------------------------------- > > My .ocamlinit now is : > > $ cat .ocamlinit > #use "topfind";; > #thread;; > #require "core.std";; > #require "core.syntax";; > #require "batteries";; > > let () = > try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") > with Not_found -> () > ;; > ------------------------------------------------------------------------------------------- > > Utop still imports camlp4, and can't find core.std > > $ utop > ────┬──────────────────────────────────────────────────┬──────── > │ Welcome to utop version 1.19.2 (using OCaml version 4.02.3)!│ > └──────────────────────────────────────────────────┘ > Findlib has been successfully loaded. Additional directives: > #require "package";; to load a package > #list;; to list the available packages > #camlp4o;; to load camlp4 (standard syntax) > #camlp4r;; to load camlp4 (revised syntax) > #predicates "p,q,...";; to set these predicates > Topfind.reset();; to force that packages will be reloaded > #thread;; to enable threads > > No such package: core.std > > Type #utop_help for help about using utop. > > ------------------------------------------------------------------------------------------- > > ocaml can't find core.std and loads camlp4 too... > > $ ocaml > OCaml version 4.02.3 > > Findlib has been successfully loaded. Additional directives: > #require "package";; to load a package > #list;; to list the available packages > #camlp4o;; to load camlp4 (standard syntax) > #camlp4r;; to load camlp4 (revised syntax) > #predicates "p,q,...";; to set these predicates > Topfind.reset();; to force that packages will be reloaded > #thread;; to enable threads > > /home/zen3ger/.opam/4.02.3/lib/ocaml/threads: added to search path > /home/zen3ger/.opam/4.02.3/lib/ocaml/unix.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/ocaml/threads/threads.cma: loaded > No such package: core.std > /home/zen3ger/.opam/4.02.3/lib/core: added to search path > /home/zen3ger/.opam/4.02.3/lib/ocaml/nums.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/num-top: added to search path > /home/zen3ger/.opam/4.02.3/lib/num-top/num_top.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/num: added to search path > /home/zen3ger/.opam/4.02.3/lib/ocaml/bigarray.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/ocaml/str.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/bytes: added to search path > /home/zen3ger/.opam/4.02.3/lib/batteries: added to search path > /home/zen3ger/.opam/4.02.3/lib/batteries/batteries.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/batteries/batteriesConfig.cmo: loaded > /home/zen3ger/.opam/4.02.3/lib/batteries/batteriesHelp.cmo: loaded > /home/zen3ger/.opam/4.02.3/lib/batteries/batteriesPrint.cmo: loaded > /home/zen3ger/.opam/4.02.3/lib/batteries/batteriesThread.cma: loaded > /home/zen3ger/.opam/4.02.3/lib/batteries/batteriesThread.cma: loaded > > > > 2016-08-10 12:53 keltezéssel, Kakadu írta: >> >> It seems that you have done `opam switch` and now some packages are >> not installed. (I.e. opam doesn't look for packages installled in >> /usr/lib anymore.) So, toplevel gives you an error about unknown >> topfind. >> >> It's likely that `opam install core batteries utop` will fix that. >> >> But it is a little bit strange that utop still prints the same. It is >> likely that you have a little bit dirty environment. You can try to >> reopen terminal and try again and see that result differs. Don't >> forget to do `eval $(opam config env)` at the beginnning! >> >> Kakadu >> >> On Wed, Aug 10, 2016 at 1:48 PM, Kovács Roland <zen3ger@gmail.com> wrote: >>> >>> Hi! >>> >>> Thans for the tip! >>> >>> I've tried and utop still prints exactly the same, and it still imports >>> camlp4, while ocaml prints another error now: >>> >>> $ ocaml >>> OCaml version 4.02.3 >>> >>> Cannot find file topfind. >>> Unknown directive `thread'. >>> >>> Roland >>> >>> >>> 2016-08-10 12:19 keltezéssel, Kakadu írta: >>>> >>>> Can you try the same without line about `camlp4` in your ~/.ocamlinit >>>> file? It is very likely that you will not need it at all because >>>> modern versions of libraries doesn't require it anymore. >>>> >>>> Also, I can recommend you to compile ocaml locally using `opam switch >>>> 4.02.3 && eval $(opam config env)` command. >>>> >>>> kakadu >>>> >>>> >>>> >>>> >>>> >>>> On Wed, Aug 10, 2016 at 8:52 AM, Kovács Roland <zen3ger@gmail.com> >>>> wrote: >>>>> >>>>> Hello Everyone! >>>>> >>>>> I'm completely new to OCaml, but I've read that it's a good practice to >>>>> start by having both Batteries and the Core module installed. >>>>> I'm using Ubuntu 16.04, and installed ocaml, opam, utop from the >>>>> official >>>>> PPAs as it seemed that the one provided for Ubuntu (avsm/ppa) is not >>>>> working >>>>> for 16.04! >>>>> >>>>> After installation I did opam init, and all the setups it asked me to >>>>> do. >>>>> In >>>>> my .ocamlinit file I have what I've found as a fix for the error >>>>> 'unbound >>>>> module'. >>>>> For one time utop found the modules, but since then it gives me an >>>>> error. >>>>> >>>>> >>>>> Cheers, >>>>> Roland >>>>> -------------------------------------------------------------------- >>>>> Judging by the output of opam, the packages should be installed >>>>> correctly >>>>> : >>>>> >>>>> $ opam list >>>>> # Installed packages for system: >>>>> base-bigarray base Bigarray library distributed with the >>>>> OCaml >>>>> compi >>>>> base-bytes base Bytes library distributed with the OCaml >>>>> compiler >>>>> base-ocamlbuild base OCamlbuild binary and libraries >>>>> distributed >>>>> with >>>>> base-threads base Threads library distributed with the >>>>> OCaml >>>>> compil >>>>> base-unix base Unix library distributed with the OCaml >>>>> compiler >>>>> batteries 2.5.2 a community-maintained standard library >>>>> extension >>>>> bin_prot 113.33.03 A binary protocol generator >>>>> cmdliner 0.9.8 Declarative definition of command line >>>>> interfaces >>>>> conf-m4 1 Virtual package relying on m4 >>>>> core 113.33.03 Industrial strength alternative to >>>>> OCaml's >>>>> standa >>>>> core_kernel 113.33.03 Industrial strength alternative to >>>>> OCaml's >>>>> standa >>>>> cppo 1.3.2 Equivalent of the C preprocessor for >>>>> OCaml >>>>> progra >>>>> depext 1.0.1 Query and install external dependencies >>>>> of >>>>> OPAM p >>>>> fieldslib 113.33.03 Syntax extension to define first class >>>>> values >>>>> rep >>>>> js-build-tools 113.33.04 Collection of tools to help building >>>>> Jane >>>>> Street >>>>> ocamlbuild 0 Build system distributed with the OCaml >>>>> compiler >>>>> ocamlfind 1.6.2 A library manager for OCaml >>>>> ppx_assert 113.33.03 Assert-like extension nodes that raise >>>>> useful >>>>> err >>>>> ppx_bench 113.33.03 Syntax extension for writing in-line >>>>> benchmarks i >>>>> ppx_bin_prot 113.33.03 Generation of bin_prot readers and >>>>> writers >>>>> from t >>>>> ppx_compare 113.33.03 Generation of comparison functions from >>>>> types >>>>> ppx_core 113.33.03 Standard library for ppx rewriters >>>>> ppx_custom_printf 113.33.03 Printf-style format-strings for >>>>> user-defined >>>>> stri >>>>> ppx_deriving 4.0 Type-driven code generation for OCaml >>>>>> >>>>>> =4.02 >>>>> >>>>> ppx_driver 113.33.03 Feature-full driver for OCaml AST >>>>> transformers >>>>> ppx_enumerate 113.33.03 Generate a list containing all values of >>>>> a >>>>> finite >>>>> ppx_expect 113.33.03 Cram like framework for OCaml >>>>> ppx_fail 113.33.03 Add location to calls to failwiths >>>>> ppx_fields_conv 113.33.03 Generation of accessor and iteration >>>>> functions fo >>>>> ppx_here 113.33.03 Expands [%here] into its location >>>>> ppx_inline_test 113.33.03 Syntax extension for writing in-line >>>>> tests >>>>> in >>>>> oca >>>>> ppx_jane 113.33.03 Standard Jane Street ppx rewriters >>>>> ppx_let 113.33.03 Monadic let-bindings >>>>> ppx_optcomp 113.33.03 Optional compilation for OCaml >>>>> ppx_pipebang 113.33.03 A ppx rewriter that inlines reverse >>>>> application o >>>>> ppx_sexp_conv 113.33.03 Generation of S-expression conversion >>>>> functions f >>>>> ppx_sexp_message 113.33.03 A ppx rewriter for easy construction of >>>>> s-express >>>>> ppx_sexp_value 113.33.03 A ppx rewriter that simplifies building >>>>> s-express >>>>> ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and >>>>> other >>>>> synt >>>>> ppx_type_conv 113.33.03 Support Library for type-driven code >>>>> generators >>>>> ppx_typerep_conv 113.33.03 Generation of runtime types from type >>>>> declaration >>>>> ppx_variants_conv 113.33.03 Generation of accessor and iteration >>>>> functions fo >>>>> re 1.6.1 RE is a regular expression library for >>>>> OCaml >>>>> result 1.2 Compatibility Result module >>>>> sexplib 113.33.03 Library for serializing OCaml values to >>>>> and >>>>> from >>>>> typerep 113.33.03 typerep is a library for runtime types. >>>>> variantslib 113.33.03 Part of Jane Street's Core library >>>>> >>>>> >>>>> -------------------------------------------------------------------- >>>>> My .ocmalinit : >>>>> >>>>> #use "topfind";; >>>>> #thread;; >>>>> #camlp4o;; >>>>> #require "core.std";; >>>>> #require "core.syntax";; >>>>> #require "batteries";; >>>>> >>>>> let () = >>>>> try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") >>>>> with Not_found -> () >>>>> ;; >>>>> >>>>> -------------------------------------------------------------------- >>>>> What ocaml prints : >>>>> >>>>> $ ocaml >>>>> OCaml version 4.02.3 >>>>> Findlib has been successfully loaded. Additional directives: >>>>> #require "package";; to load a package >>>>> #list;; to list the available packages >>>>> #camlp4o;; to load camlp4 (standard syntax) >>>>> #camlp4r;; to load camlp4 (revised syntax) >>>>> #predicates "p,q,...";; to set these predicates >>>>> Topfind.reset();; to force that packages will be reloaded >>>>> #thread;; to enable threads >>>>> >>>>> /usr/lib/ocaml/threads: added to search path >>>>> /usr/lib/ocaml/unix.cma: loaded >>>>> /usr/lib/ocaml/threads/threads.cma: loaded >>>>> /usr/lib/ocaml/dynlink.cma: loaded >>>>> /usr/lib/ocaml/camlp4: added to search path >>>>> /usr/lib/ocaml/camlp4/camlp4o.cma: loaded >>>>> No such package: core.std >>>>> /home/zen3ger/.opam/system/lib/core: added to search path >>>>> /usr/lib/ocaml/nums.cma: loaded >>>>> /home/zen3ger/.opam/system/lib/num-top: added to search path >>>>> /home/zen3ger/.opam/system/lib/num-top/num_top.cma: loaded >>>>> Camlp4 Parsing version 4.02.3 >>>>> >>>>> /home/zen3ger/.opam/system/lib/num: added to search path >>>>> /usr/lib/ocaml/bigarray.cma: loaded >>>>> /usr/lib/ocaml/str.cma: loaded >>>>> /home/zen3ger/.opam/system/lib/bytes: added to search path >>>>> /home/zen3ger/.opam/system/lib/batteries: added to search path >>>>> /home/zen3ger/.opam/system/lib/batteries/batteries.cma: loaded >>>>> /home/zen3ger/.opam/system/lib/batteries/batteriesConfig.cmo: loaded >>>>> /home/zen3ger/.opam/system/lib/batteries/batteriesHelp.cmo: loaded >>>>> /home/zen3ger/.opam/system/lib/batteries/batteriesPrint.cmo: loaded >>>>> /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded >>>>> /home/zen3ger/.opam/system/lib/batteries/batteriesThread.cma: loaded >>>>> >>>>> >>>>> -------------------------------------------------------------------- >>>>> What utop prints : >>>>> >>>>> Findlib has been successfully loaded. Additional directives: >>>>> #require "package";; to load a package >>>>> #list;; to list the available packages >>>>> #camlp4o;; to load camlp4 (standard syntax) >>>>> #camlp4r;; to load camlp4 (revised syntax) >>>>> #predicates "p,q,...";; to set these predicates >>>>> Topfind.reset();; to force that packages will be reloaded >>>>> #thread;; to enable threads >>>>> >>>>> No such package: core.std >>>>> No such package: core.syntax >>>>> No such package: batteries >>>>> > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-08-10 12:14 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-08-10 5:52 [Caml-list] Beginner - Cannot set up Core and Batteries Kovács Roland 2016-08-10 10:19 ` Kakadu [not found] ` <591153db-3b69-cacc-35cc-83096ca2a145@gmail.com> 2016-08-10 10:53 ` Kakadu [not found] ` <e4cfcdca-49ee-7185-b4c0-903aca6b02ae@gmail.com> 2016-08-10 12:13 ` Kakadu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox