SKS is incompatible with ocaml 4.05

Issue #49 new
Kristian Fiskerstrand
created an issue

Building with ocaml 4.05 produces: ocamlfind ocamlopt -package cryptokit,unix,str,bigarray,num -I lib -I bdb -ccopt -L/usr/lib64 -ccopt -Wl,-O1 -ccopt -Wl,--as-needed -ccopt -Lbdb -dtypes -linkpkg -inline 40 bdb.cmxa -c eventloop.ml File "eventloop.ml", line 133, characters 15-19: Error: This expression has type ?cloexec:bool -> Unix.file_descr but an expression was expected of type Unix.file_descr = Unix.file_descr make: *** [Makefile:362: eventloop.cmx] Error 2

Downstream bug: https://bugs.gentoo.org/show_bug.cgi?id=625546 Pull request: https://bitbucket.org/skskeyserver/sks-keyserver/pull-requests/56/fix-for-ocaml-405/diff

Comments (2)

  1. Kristian Fiskerstrand reporter

    From release notes (https://discuss.ocaml.org/t/ann-ocaml-4-05-0-released/541) : GPR#6501: in the Unix library, add ?cloexec:bool optional arguments to functions that create file descriptors (dup, dup2, pipe, socket, socketpair, accept). Implement these optional arguments in the most atomic manner provided by the operating system to set (or clear) the close-on-exec flag at the same time the file descriptor is created, reducing the risk of race conditions with exec or create_process calls running in other threads, and improving security. Also: add a O_KEEPEXEC flag for openfile by symmetry with O_CLOEXEC. (Xavier Leroy, review by Mark Shinwell, David Allsopp and Alain Frisch, request by Romain Beauxis)

    https://github.com/ocaml/ocaml/pull/650

  2. Log in to comment