Reputation: 118
i have read multiple identical problem but answers dont fix it. The OCaml toplevel, version 4.11.0+dev0-2019-10-18 opam list
# Packages matching: installed
# Name # Installed # Synopsis
base-bigarray base
base-threads base
base-unix base
conf-libX11 1 Virtual package relying on an Xlib system instal
conf-pkg-config 1.1 Virtual package relying on pkg-config installati
dune 2.4.0 Fast, portable, and opinionated build system
dune-configurator 2.4.0 Helper library for gathering system configuratio
dune-private-libs 2.4.0 Private libraries of Dune
graphics 5.1.0 The OCaml graphics library
ocaml 4.10.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.10.0 Official release 4.10.0
ocaml-config 1 OCaml Switch Configuration
opam install graphics [NOTE] Package graphics is already installed (current version is 5.1.0).
ocamlfind query -predicates native -a-format graphics
ocamlfind: Package `graphics' not found
me@2020:~$ /home/ivg/.opam/fresh/lib/ocaml/graphics.cmxa
bash: /home/ivg/.opam/fresh/lib/ocaml/graphics.cmxa: Aucun fichier ou dossier de ce type
ocamlfind ocamlopt -package graphics
ocamlfind: Package `graphics' not found
ls ocamlc -where
/graphics*
ls: impossible d'accéder à '/usr/local/lib/ocaml/graphics*': Aucun fichier ou dossier de ce type
sudo apt install libx11-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
libx11-dev est déjà la version la plus récente (2:1.6.4-3ubuntu0.2).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 8 non mis à jour.
I dont understand what is wrong, it seems to be installed but it cant use it properly ?
ocamlc graphics.cma test1.ml -o test1
File "test1.ml", line 3, characters 5-13:
3 | open Graphics;;
^^^^^^^^
Error: Unbound module Graphics
Upvotes: 1
Views: 953
Reputation: 1586
From https://ocaml.org/manual/4.09/libgraph.html
Since OCaml 4.09, the graphics library is distributed as an external package.
Hence you have to specify to ocamlc where to find the corresponding cma file using the -I option and ocamlfind :
ocamlc -I $(ocamlfind query graphics) graphics.cma test1.ml -o test1
Using utop you will have to start with the directive #require "graphics";;
before doing open Graphics;;
Upvotes: 3