You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 4663 Reporter: jacobs Status: closed (set by @xavierleroy on 2010-04-18T17:48:12Z) Resolution: not a bug Priority: normal Severity: major Version: 3.10.2 Category: ~DO NOT USE (was: OCaml general) Related to:#3943
Bug description
In "0003943: ocaml build fails on Solaris 10/x64", a couple of issues around building ocaml on Solaris are raised. The bug report seems to indicate that because the SUS doesn't enumerate EINVAL as an errno, it isn't valid. That isn't quite accurate. close(2) needs to support the listed errnos, but can and does support additional errnos on a variety of operating systems.
When attempting to use ocaml built and installed on my system's local disk against a file that is accessed over NFS, I still get the failure.
Whether there is a bug in the NFS support on Solaris or not, it would seem to me that ocaml would want to work regardless. There appears to be a relatively simple fix that solves the problem. A patch is attached to this bug report.
ocaml is installed on the local disk and "parsing/linenum.mll" is via an NFS mount in the example below.
It's been a long time, but I've decided not to apply this patch and to close this PR. close() should not return an error if given a valid file descriptor, and if the FD was bad it should return EBADF, not EINVAL. So, this is a bug in Solaris and we're not going to work around it. Sorry.
Original bug ID: 4663
Reporter: jacobs
Status: closed (set by @xavierleroy on 2010-04-18T17:48:12Z)
Resolution: not a bug
Priority: normal
Severity: major
Version: 3.10.2
Category: ~DO NOT USE (was: OCaml general)
Related to: #3943
Bug description
In "0003943: ocaml build fails on Solaris 10/x64", a couple of issues around building ocaml on Solaris are raised. The bug report seems to indicate that because the SUS doesn't enumerate EINVAL as an errno, it isn't valid. That isn't quite accurate. close(2) needs to support the listed errnos, but can and does support additional errnos on a variety of operating systems.
When attempting to use ocaml built and installed on my system's local disk against a file that is accessed over NFS, I still get the failure.
Whether there is a bug in the NFS support on Solaris or not, it would seem to me that ocaml would want to work regardless. There appears to be a relatively simple fix that solves the problem. A patch is attached to this bug report.
ocaml is installed on the local disk and "parsing/linenum.mll" is via an NFS mount in the example below.
jade% ocamlrun ocamllex parsing/linenum.mll
12 states, 323 transitions, table size 1364 bytes
Fatal error: exception Sys_error("Invalid argument")
jade% which ocamlrun ocamllex
/bin/ocamlrun
/bin/ocamllex
jade%
Additional information
A patch is attached to this bug report.
File attachments
The text was updated successfully, but these errors were encountered: