bug-guile
[Top][All Lists]
Advanced

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

bug#24862: guile 2.0.13 build error under macOS 10.12 Sierra


From: Matt Wette
Subject: bug#24862: guile 2.0.13 build error under macOS 10.12 Sierra
Date: Thu, 10 Nov 2016 17:51:34 -0800

Here is a patch that gets mine working.  Not sure it solves all the Sierra 
issues.

*** libguile/filesys.c-orig     2016-11-05 07:49:09.000000000 -0700
--- libguile/filesys.c  2016-11-10 05:38:53.000000000 -0800
***************
*** 1486,1491 ****
--- 1486,1494 ----
        mode_bits = scm_i_mode_bits (mode);
      }
  
+ #ifdef __APPLE__
+   open_flags &= O_APPEND|O_SHLOCK|O_EXLOCK|O_CLOEXEC;
+ #endif
    SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags));
    if (rv == -1)
      SCM_SYSERROR;

The man page for mkstemp says the following:

     The mkostemp() function is like mkstemp() but allows specifying addi-
     tional open(2) flags (defined in <fcntl.h>).  The permitted flags are
     O_APPEND, O_SHLOCK, O_EXLOCK and O_CLOEXEC.


Note that macports includes another patch for Sierra:

--- libguile/stime.c
+++ libguile/stime.c
@@ -834,6 +834,10 @@ scm_init_stime()
 
 #ifdef HAVE_POSIX_CPUTIME
   {
+#ifdef __APPLE__
+    if (clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &posix_run_time_base) == 0)
+      get_internal_run_time = get_internal_run_time_posix_timer;
+#else
     clockid_t dummy;
     
     /* Only use the _POSIX_CPUTIME clock if it's going to work across
@@ -843,6 +847,7 @@ scm_init_stime()
       get_internal_run_time = get_internal_run_time_posix_timer;
     else
       errno = 0;
+#endif
   }
 #endif /* HAVE_POSIX_CPUTIME */
 #endif /* HAVE_CLOCKTIME */







reply via email to

[Prev in Thread] Current Thread [Next in Thread]