[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#580092: FTBFS with OCaml 3.12 because of undeclared overridden methods



Package: src:ocaml-batteries
Version: 1.1.0-1
Severity: normal
User: debian-ocaml-maint@lists.debian.org
Usertags: ocaml312-ftbfs

Hello,

While rebuilding all packages with a SVN snapshot of OCaml (version
3.12.0+dev17, revision 10268), your package failed to build on amd64.

Relevant part:
> + ocamlfind ocamlc -package camlp4.lib -warn-error A -pp camlp4of -g -g -I . -c pa_estring.ml
> File "pa_estring.ml", line 297, characters 2-650:
> Warning 7: the method patt is overridden.
> File "pa_estring.ml", line 322, characters 2-138:
> Warning 7: the method expr is overridden.
> File "pa_estring.ml", line 326, characters 2-138:
> Warning 7: the method patt is overridden.
> File "pa_estring.ml", line 330, characters 2-666:
> Warning 7: the method match_case is overridden.
> File "pa_estring.ml", line 1, characters 0-1:
> Error: Error-enabled warnings (4 occurrences)
> - exit libs/estring pa_estring.cmo, 0.76 sec, code 2
> *** omake: 42/774 targets are up to date
> *** omake: failed (2.01 sec, 3/3 scans, 3/6 rules, 21/276 digests)
> *** omake: targets were not rebuilt because of errors:
>    libs/estring/pa_estring.cmo
>       depends on: libs/estring/pa_estring.ml

The full build log is available at:
  http://debian.glondu.net/debian/ocaml31120dev17r10268/failures/ocaml-batteries_1.1.0-1%2B3.12.0%2Bdev17%2B10268_amd64.build

OCaml 3.12 introduces a new syntax to declare overridden methods, and
a new warning for undeclared overridden methods, that make
ocaml-batteries FTBFS because of error-enabled warnings.

The "right" fix would be to declare overridden methods (using
"method!"), but it is not backward-compatible with OCaml < 3.12. A
backward-compatible fix would be to disable error-enabled warnings
(i.e. compile without -warn-error A).


Best regards,

-- 
Stéphane


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



Reply to: