Re: Not finding modules that opam appears to have installed.

"Hendrik Boom [email protected] [ocaml_beginners]" <[email protected]> Wed, 13 Apr 2016 09:44:13 -0400
Newsgroups gmane.comp.lang.ocaml.beginners
Message-ID <[email protected]>
On Wed, Apr 13, 2016 at 08:54:55AM +0200, 'Mr. Herr' [email protected] [ocaml_beginners] wrote:
> 
> 
> On 13.04.2016 02:14, Hendrik Boom [email protected] [ocaml_beginners] wrote:
> >  
> >
> > I uninstalled and then installed glMlite using opam, just to be sure I
> > knew what was there. I subsequently trid once again to ocmpile my
> > trivial game.
> >
> > hendrik@notlookedfor:~/dv/ocaml/wander$ make wander
> > ocamlfind ocamlopt -package glMLite -package unix -linkpkg
> > loader-libpng.c png_loader.ml wander.ml -o wander
> > File "wander.ml", line 1:
> > Error: No implementations provided for the following modules:
> > Glut referenced from wander.cmx
> > Makefile:6: recipe for target 'wander' failed
> > make: *** [wander] Error 2
> > hendrik@notlookedfor: ~/dv/ocaml/wander$
> >
> > Evidently it is not finding Glut.
> >
> > What could it be looking for by the nae of Glut that it doesn't find
> > it in the glMlite that opam installed? To my eyes, it's right there
> > where opam installed it:
> >
> > hendrik@notlookedfor:~/dv/ocaml/wander$ ls /home/hendrik/.opam/4.02.3/lib/glMLite/
> > dllFunGL.so FunGlut.cmx Glut.cma libVBO.a
> > dllgl_stubs.so FunGlut.cmxa Glut.cmi libvertArray.a
> > dllGlu.so FunGlut.o Glut.cmx META
> > dllGlut.so GL.a Glut.cmxa opam.config
> > dlljpeg_loader.so GL.cma Glut.o VBO.a
> > dllVBO.so GL.cmi jpeg_loader.a VBO.cma
> > dllvertArray.so GL.cmx jpeg_loader.cma VBO.cmi
> > FunGL.a GL.cmxa jpeg_loader.cmi VBO.cmx
> > FunGL.cma GL.o jpeg_loader.cmx VBO.cmxa
> > FunGL.cmi Glu.a jpeg_loader.cmxa VBO.o
> > FunGL.cmx Glu.cma jpeg_loader.o vertArray.a
> > FunGL.cmxa Glu.cmi libFunGL.a vertArray.cma
> > FunGL.o Glu.cmx libgl_stubs.a vertArray.cmi
> > FunGlut.a Glu.cmxa libGlu.a vertArray.cmx
> > FunGlut.cma Glu.o libGlut.a vertArray.cmxa
> > FunGlut.cmi Glut.a libjpeg_loader.a vertArray.o
> > hendrik@notlookedfor:~/dv/ocaml/wander$
> >
> Do you have then necessary OS glut components installed? Here is what is offered on
> my system:
> 
>   | freeglut             | Freely licensed alternative to the GLUT
> library                           | Quellpaket
>   | freeglut-demo        | Demonstration applications for the freeglut
> library                       | Paket    
> i | freeglut-devel       | Development libraries, includes and man pages for freeglut
> (GLUT Library) | Paket    
>   | freeglut-devel-32bit | Development libraries, includes and man pages for freeglut
> (GLUT Library) | Paket    
>   | ghc-GLUT             | A binding for the OpenGL Utility
> Toolkit                                  | Paket    
>   | ghc-GLUT             | A binding for the OpenGL Utility
> Toolkit                                  | Quellpaket
>   | ghc-GLUT-devel       | Haskell GLUT library development
> files                                    | Paket    
> i | libglut3             | Freely licensed alternative to the GLUT
> library                           | Paket    
>   | libglut3-32bit       | Freely licensed alternative to the GLUT
> library                           | Paket    
>   | libmgl-glut7_3_0     | Mathgl window library for making high-quality scientific
> graphics  

Looking at the 'i's in the left margin, the ones you atually have installed are:

> i | freeglut-devel       | Development libraries, includes and man pages for freeglut
> (GLUT Library) | Paket    
> i | libglut3             | Freely licensed alternative to the GLUT
> library                           | Paket    

Similarly, 'aptitude search glut' tells me I have installed:

i A freeglut3           - OpenGL Utility Toolkit                 
i   freeglut3-dev       - OpenGL Utility Toolkit development files

The names are subtly different.  We must have a different distro or a different command to  list packages.
I'm using devuan jessie, which is a Debian jessie derivative.

Anyway, the glut-related files are there in /home/hendrik/.opam/4.02.3/lib/glMLite/
so I expect the problem is the search path that ocamlfind ocamlopt uses.

I wonder if the problem could be with opam.  I'm using the new version that's 
just out.  Don't really see how, though.

-- hendrik

> 
> 
> /Str.