octave-maintainers
[Top][All Lists]
Advanced

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

cannot compile liboctave/file-ops.cc; mkfifo issue (MinGW build)


From: John W. Eaton
Subject: cannot compile liboctave/file-ops.cc; mkfifo issue (MinGW build)
Date: Tue, 5 Jan 2010 01:30:09 -0500

On  2-Jan-2010, Tatsuro MATSUOKA wrote:

| Hello
| 
| Platform windows xp, MinGW (gcc-4.4.0).
| 
| The problem of mkdir and io.h in compling liboctave/file-ops.cc seemed to be 
solved if sys/stat.h is
| placed under the include path defined in CPPFLASS  after John's changeset  
| http://hg.savannah.gnu.org/hgweb/octave/rev/62eb444704ba

I'm not sure what you mean by "placed under the include path defined
in CPPFLASS".  Isn't the replacement sys/stat.h file provided by
gnulib supposed to be included if your system either doesn't have a
sys/stat.h file, or if it is broken in some way?

| However I have met a problem 'mkfifo'.  
| 
| ../../../hg/octave-work/liboctave/file-ops.cc: In static member function 
'static int
| file_ops::mkfifo_internal(const std::string&, mode_t, std::string&)':
| ../../../hg/octave-work/liboctave/file-ops.cc:130: error: '::mkfifo' has not 
been declared
| 
| The function 'mkfifo' seem to be not exist in MinGW (also in MSVC).

Gnulib provides a mkfifo.c file with the lines

  #if !HAVE_MKFIFO
  /* Mingw lacks mkfifo; always fail with ENOSYS.  */

  int
  mkfifo (char const *name _UNUSED_PARAMETER_, mode_t mode _UNUSED_PARAMETER_)
  {
    errno = ENOSYS;
    return -1;
  }

so I assumed that it was supposed to be safe to call mkfifo
unconditionally.  At least compiling and linking should succeed; I
realize that it will fail and return -1 if called.

jwe


reply via email to

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