pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lang/ocaml update FAIL
The following change does not reliably build for me and it breaks the
unison package.
On Thu, Aug 19, 2010 at 08:06:53AM +0000, Aleksej Saushev wrote:
> Committed By: asau
> Date: Thu Aug 19 08:06:53 UTC 2010
>
> Modified Files:
> pkgsrc/lang/ocaml: Makefile Makefile.common PLIST PLIST.opt PLIST.stub
> distinfo
> pkgsrc/lang/ocaml/patches: patch-aj patch-an patch-at patch-az patch-bd
> patch-bh patch-bo patch-bs patch-bt
> Removed Files:
> pkgsrc/lang/ocaml/patches: patch-bk
>
> Log Message:
> Update to O'Caml 3.12.0, add test target.
The failure to build is as follows:
cd byterun; /usr/pkg/bin/gmake all
gmake[1]: Entering directory
`/pkg_comp/obj/pkgsrc/lang/ocaml/default/ocaml-3.12.0/byterun'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory
`/pkg_comp/obj/pkgsrc/lang/ocaml/default/ocaml-3.12.0/byterun'
cp byterun/ocamlrun boot/ocamlrun
cp: boot/ocamlrun: Text file busy
gmake: *** [coldstart] Error 1
*** Error code 2
This is in a i386 5.1_RC3 pkg_comp jail.
The build of unison fails like this:
ocamlopt -I lwt -I ubase -c
/pkg_comp/obj/pkgsrc/net/unison/default/unison-2.32.52/update.ml
File "/pkg_comp/obj/pkgsrc/net/unison/default/unison-2.32.52/update.ml", line
1, characters 0-1:
Error: The implementation
/pkg_comp/obj/pkgsrc/net/unison/default/unison-2.32.52/update.ml
does not match the interface update.cmi:
Modules do not match:
sig
type key = Name.t
type 'a t = 'a MyMap.Make(Name).t
val empty : 'a t
val is_empty : 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val find : key -> 'a t -> 'a
val findi : key -> 'a t -> key * 'a
val remove : key -> 'a t -> 'a t
val mem : key -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
val mapii : (key -> 'a -> key * 'b) -> 'a t -> 'b t
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val validate : 'a t -> [ `Duplicate of key | `Invalid | `Ok ]
end
is not included in
sig
type key = Name.t
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val mem : key -> 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val singleton : key -> 'a -> 'a t
val remove : key -> 'a t -> 'a t
val merge :
(key -> 'a option -> 'b option -> 'c option) ->
'a t -> 'b t -> 'c t
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val for_all : (key -> 'a -> bool) -> 'a t -> bool
val exists : (key -> 'a -> bool) -> 'a t -> bool
val filter : (key -> 'a -> bool) -> 'a t -> 'a t
val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
val cardinal : 'a t -> int
val bindings : 'a t -> (key * 'a) list
val min_binding : 'a t -> key * 'a
val max_binding : 'a t -> key * 'a
val choose : 'a t -> key * 'a
val split : key -> 'a t -> 'a t * 'a option * 'a t
val find : key -> 'a t -> 'a
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
end
The field `split' is required but not provided
The field `choose' is required but not provided
The field `max_binding' is required but not provided
The field `min_binding' is required but not provided
The field `bindings' is required but not provided
The field `cardinal' is required but not provided
The field `partition' is required but not provided
The field `filter' is required but not provided
The field `exists' is required but not provided
The field `for_all' is required but not provided
The field `merge' is required but not provided
The field `singleton' is required but not provided
gmake: *** [update.cmx] Error 2
*** Error code 2
I guess this is because of the following change that the release notes/changes
warn about:
* While fixing PR#4824, also corrected a gaping hole in the type checker,
which allowed instantiating separately object parameters and instance
variables in an interface. This hole was here since the beginning of
ocaml, and as a result many programs using object inheritance in a non
trivial way will need to be corrected. You can look at lablgtk2 for an
example.
Maybe we should use the 3.11.2 release by default until this issue has been
dealt with in all the 3rd party OCaml programs.
--chris
Home |
Main Index |
Thread Index |
Old Index