octave-maintainers
[Top][All Lists]
Advanced

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

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


From: Tatsuro MATSUOKA
Subject: Re: cannot compile liboctave/file-ops.cc; mkfifo issue (MinGW build)
Date: Tue, 5 Jan 2010 17:10:07 +0900 (JST)

Hello

--- "John W. Eaton" wrote:

> 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.

There seems to exist file location problems in configure process?
I have met the following at present,

1. xalloc.h was not copied to directory 'libgnu'. It is required to compile to 
mkdir.c

2. sys/stat.h (Perhaps it is store in sys_stat.in.h in 'gnulib' directory) 
seemed to be copied to 
 proper location.

3. mkfifo.c seemed not to be copied to the directory libgnu. Of course it was 
not complied and not
included in libgnu.a in the make process of octave.

For 1, I manually copied xalloc.h into libgnu directory manually.
For 2. I have a special directro named 'c:/programs/OctaveBuild' in which 
dependencies are saved. 
at the configure 

export LDFLAGS='-Lc:/Programs/OctaveBuild/lib  -LC:/Programs/WinDevTools/lib
-Lc:/Programs/GnuWin32/lib -lsupc++'
export CPPFLAGS='-Ic:/Programs/OctaveBuild/include 
-Ic:/Programs/WinDevTools/include
-Ic:/Programs/GnuWin32/include'

I have made a directry c:/Programs/OctaveBuild/include/sys/  and copy 
sys_stat.h as stat.h into
c:/Programs/OctaveBuild/include/sys/.

For 3, I have aware it by your mail.

Thank you for your mail

Regards

Tatsuro 

--------------------------------------
Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/ie8/


reply via email to

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