| Newsgroups |
gmane.comp.lang.ocaml.beginners |
| Message-ID |
<[email protected]> |
On Sun, Jul 12, 2015 at 08:07:04AM +0900, Gabriel Scherer [email protected] [ocaml_beginners] wrote:
> When building an executable you should pass the flag -linkpkg to ocamlfind.
Yes, that helps a lot. Thabks. I'm left with one undefined symbol:
hendrik@notlookedfor:~/dv/fun/group/toy/cairo_toy$ ocamlfind ocamlopt -package cairo -package lablgtk2 -linkpkg toy_maker.mli toy_maker.ml my_interactor.ml demo_toy.ml -o runme
toy_maker.o: In function `camlToy_maker__redraw_1030':
(.text+0x102): undefined reference to `ml_gdk_cairo_create'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
hendrik@notlookedfor:~/dv/fun/group/toy/cairo_toy$
Now presumably this is the symbol referenced in cairo_lablgtk.ml:
external create : [> `drawable] Gobject.obj -> Cairo.t = "ml_gdk_cairo_create"
and I'd guess there should be C code around somewhere interfacing this module to
the actual gdk or cairo libraries. And a shared or unshared binary library
somewhere defining it. But a google search didn't find it, and
presumably there's some proper way to track it down.
-- hendrik
>
> On Sun, Jul 12, 2015 at 7:54 AM, Hendrik Boom [email protected]
> [ocaml_beginners] <[email protected]> wrote:
>
> > On Sat, Jul 04, 2015 at 10:29:22AM -0400, Hendrik Boom
> > [email protected] [ocaml_beginners] wrote:
> > > On Sat, Jul 04, 2015 at 06:19:02AM +0000, Gage Peterson
> > [email protected] [ocaml_beginners] wrote:
> > > > Use opam. It will work out much better. Also I don't think you should
> > ever
> > > > have to run it from root.
> > >
> > > Running it from root was a mistake. And the way it affected the
> > > results was a clue that the Debian-installed packages weren't even
> > > being seen. THough first I misinterpreted the clue.
> > >
> > > I'll try opam. That should work.
> > >
> > > Will report back.
> >
> > OK. Did
> > opam install lablgtk
> > and
> > opam install cairo
> >
> > Now I get
> >
> > hendrik@notlookedfor:~/dv/fun/group/toy/cairo_toy$ ocamlfind ocamlopt
> > -package cairo -package lablgtk2 toy_maker.mli toy_maker.ml
> > my_interactor.ml demo_toy.ml -o runme
> > File "demo_toy.ml", line 1:
> > Error: No implementations provided for the following modules:
> > GMain referenced from toy_maker.cmx, my_interactor.cmx
> > GPack referenced from toy_maker.cmx
> > GWindow referenced from toy_maker.cmx
> > GBin referenced from toy_maker.cmx
> > Cairo referenced from my_interactor.cmx
> > GMisc referenced from toy_maker.cmx
> > hendrik@notlookedfor:~/dv/fun/group/toy/cairo_toy$
> >
> >
> > Can I conclude that I'm now getting as far as the linker?
> >
> > How do I go abbout getting it to actually *find* these modules?
> >
> > -- hendrik
> >
> >
> > ------------------------------------
> > Posted by: Hendrik Boom <[email protected]>
> > ------------------------------------
> >
> > Archives up to December 31, 2011 are also downloadable at
> > http://www.connettivo.net/cntprojects/ocaml_beginners
> > The archives of the very official ocaml list (the seniors' one) can be
> > found at http://caml.inria.fr
> > Attachments are banned and you're asked to be polite, avoid flames etc.
> > ------------------------------------
> >
> > Yahoo Groups Links
> >
> >
> >
> >