caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Re: Ocamlgraph build error
@ 2004-03-31 22:03 skaller
  2004-04-01  9:15 ` skaller
  0 siblings, 1 reply; 2+ messages in thread
From: skaller @ 2004-03-31 22:03 UTC (permalink / raw)
  To: caml-list



[skaller@pelican] /usr/local/src/ocamlgraph-0.70>ocamlc bitv.ml
File "bitv.ml", line 561, characters 57-67:
Integer literal exceeds the range of representable integers of type int

[The actual failure is in ocamldep]

let of_int32_s i = match Sys.word_size with
  | 32 -> { length = 32;
            bits = [| (Int32.to_int i) land max_int;
                      let hi = Int32.shift_right_logical i 30 in
                      (Int32.to_int hi) land 3 |] }
  | 64 -> { length = 32; bits = [| (Int32.to_int i) land 0xffffffff |] }
  | _ -> assert false


Seems the fault is in the constant 0xffffffff which of course
isn't a valid int on my 32 bit machine. You could use

	(0xffff lsl 16) lor 0xffff

instead in the hope the compiler doesn't fold it,
but ultimately if the compiler is smart enough 
you really must use conditional compilation.

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] Re: Ocamlgraph build error
  2004-03-31 22:03 [Caml-list] Re: Ocamlgraph build error skaller
@ 2004-04-01  9:15 ` skaller
  0 siblings, 0 replies; 2+ messages in thread
From: skaller @ 2004-04-01  9:15 UTC (permalink / raw)
  To: skaller; +Cc: caml-list

[Patched Ocamlgraph so it works on 32 bit machine]
-------------------
module Elt = struct 
  type t = int 
  let compare = compare 
  let hash = Hashtbl.hash 
  let equal = (=)
end

;;

module MyGraph = Graph.Imperative.Digraph.Concrete(Elt)
;;
let check() =
  let g = MyGraph.create () in
  MyGraph.add_vertex g 1;
  MyGraph.add_vertex g 2;
  MyGraph.add_vertex g 3;
  MyGraph.add_vertex g 4;
  MyGraph.add_vertex g 5;
  MyGraph.add_edge g 1 2;
  MyGraph.add_edge g 2 3;
  print_endline "Graph constructed"
;;


print_endline "Try using graph module";;
check();;

---------------------
This works fine as per instructions:

[skaller@pelican] ~>ocamlc graph.cmo gr.ml -o gr
[skaller@pelican] ~>./gr
Try using graph module
Graph constructed
------------------------------
But this doesn't:

[skaller@pelican] ~>ocamlopt graph.cmx gr.ml -o gr
/tmp/camlstartup43f4c5.o(.text+0xe5): In function `caml_program':
: undefined reference to `camlGraph__Sig__entry'
/tmp/camlstartup43f4c5.o(.text+0xf1): In function `caml_program':
: undefined reference to `camlGraph__Sig_pack__entry'
/tmp/camlstartup43f4c5.o(.text+0xfd): In function `caml_program':
.....
collect2: ld returned 1 exit status
Error during linking
------------------------------

Instructions are:
-----------------------
ocamlgraph is packaged as a single module `Graph'. Link is done as
follows:
 
- bytecode
 
        ocamlc graph.cmo <other files>
 
- native code
 
        ocamlopt graph.cmx <other files>
--------------------

I must be doing something basic wrong .. using CVS ocaml:

Objective Caml version 3.07+13 (2004-01-04)


--

John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-04-01  9:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-31 22:03 [Caml-list] Re: Ocamlgraph build error skaller
2004-04-01  9:15 ` skaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).