[csw-devel] SF.net SVN: gar:[20206] csw/mgar/pkg/ocaml/trunk

cgrzemba at users.sourceforge.net cgrzemba at users.sourceforge.net
Wed Jan 23 14:03:36 CET 2013


Revision: 20206
          http://gar.svn.sourceforge.net/gar/?rev=20206&view=rev
Author:   cgrzemba
Date:     2013-01-23 13:03:35 +0000 (Wed, 23 Jan 2013)
Log Message:
-----------
ocaml/trunk: - add nfs error patch
- refine CC variable definition

Modified Paths:
--------------
    csw/mgar/pkg/ocaml/trunk/Makefile

Added Paths:
-----------
    csw/mgar/pkg/ocaml/trunk/files/01-nfs-close-bug.patch

Modified: csw/mgar/pkg/ocaml/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ocaml/trunk/Makefile	2013-01-23 10:42:37 UTC (rev 20205)
+++ csw/mgar/pkg/ocaml/trunk/Makefile	2013-01-23 13:03:35 UTC (rev 20206)
@@ -35,6 +35,12 @@
 PATCHFILES += 7-patch
 PATCHFILES += 8-patch
 PATCHFILES += 9-patch
+#
+# this is only a error ignor patch taken from here:
+# http://caml.inria.fr/mantis/view.php?id=4663
+# the real reason for the problem is described probably here:
+# http://irccrew.org/~cras/nfs-coding-howto.html
+PATCHFILES += 01-nfs-close-bug.patch
 
 RUNTIME_DEP_PKGS_CSWocaml += CSWlibtcl8-5
 RUNTIME_DEP_PKGS_CSWocaml += CSWlibgcc-s1
@@ -54,7 +60,7 @@
 CONFIGURE_ARGS += -mandir $(mandir)
 CONFIGURE_ARGS += -prefix $(prefix)
 CONFIGURE_ARGS += -verbose
-# CONFIGURE_ARGS += -cc "$(CC) $(CFLAGS)"
+CONFIGURE_ARGS += -cc "$(notdir $(CC)) $(CFLAGS)"
 # CONFIGURE_ARGS += -x11include $(prefix)/X11/include
 # CONFIGURE_ARGS += -x11lib $(prefix)/X11/lib
 INSTALL_ARGS += PWD=${PWD}/$(WORKSRC)

Added: csw/mgar/pkg/ocaml/trunk/files/01-nfs-close-bug.patch
===================================================================
--- csw/mgar/pkg/ocaml/trunk/files/01-nfs-close-bug.patch	                        (rev 0)
+++ csw/mgar/pkg/ocaml/trunk/files/01-nfs-close-bug.patch	2013-01-23 13:03:35 UTC (rev 20206)
@@ -0,0 +1,12 @@
+--- a/byterun/io.c
++++ b/byterun/io.c
+@@ -479,6 +479,9 @@ CAMLprim value caml_ml_close_channel(value vchannel)
+   struct channel * channel = Channel(vchannel);
+   if (channel->fd != -1){
+     result = close(channel->fd);
++    /* Work around an NFS issue that causes close() to fails with EINVAL */
++    if ((result < 0) && (errno == EINVAL))
++      result = 0;
+     channel->fd = -1;
+   }else{
+     result = 0;

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list