octave-maintainers
[Top][All Lists]
Advanced

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

Re: MinGW build error: 'liboctave_warning_handler' undeclared


From: John W. Eaton
Subject: Re: MinGW build error: 'liboctave_warning_handler' undeclared
Date: Sat, 25 Aug 2012 11:36:56 -0400

On 25-Aug-2012, Philip Nienhuis wrote:

| 
| Philip Nienhuis wrote
| > 
| > 
| > Daniel Sebald wrote
| >> 
| >> On 08/24/2012 04:18 PM, Philip Nienhuis wrote:
| >>> John W. Eaton wrote:
| >> 
| >>>> I can try to take a look at it if you add -save-temps to the command
| >>>> that compiles lex.cc and send me the resulting lex.ii file.
| >>>
| >>> I couldn't find lex.cc in the current sources. Only lex.h and lex.ll are
| >>> present. I checked this on a recently checked out fresh hg clone.
| >>>
| >>> Extremely intriguing as lex.cc is explicitly mentioned in the error
| >>> mesaage itself ("In file included from parse-tree/lex.cc:").
| >> 
| >> Philip,
| >> 
| >> lex.cc is generated from lex.ll as part of the build process.  Search 
| >> for lex.cc the subdirectories associated with your object code.  I 
| >> assume that is where temporary files will be as well.
| >> 
| > 
| > Thanks, that explains a thing or two.
| > 
| > Before trying John's suggestion I'll first try a few other options that
| > worked in MinGW for earlier Octave versions.
| > 
| 
| Right, build continues but crashes later on with Qt4 errors. I'll start a
| new thread for that.
| 
| My changes to get the MinGW build until this new error (BTW using Tatsuro's
| dependencies and build stuff) are simple:
| 
| 1. in <SRCDIR>:
| libinterp/interpfcn/file-io.cc
| libinterp/interpfcn/oct-hist.cc
| libinterp/interpfcn/sysdep.cc
| liboctave/oct-env.cc
| =>   repeat the
| #include <unistd.h>
|   line so that it appears twice (seems and old MinGW/gnulib issue)

I thought that problem was fixed in gnulib at some point.  If the
problem has crept in again, then we need to get it fixed in gnulib
again.

| 2. in <BUILDDIR>/libinterp/parse-tree/lex.cc (generated),
| a. add:
|   #include <io.h>
| b. comment out L.1300: #define isatty GNULIB_NAMESPACE::isatty"

We can't patch generated files.  The fix needs to be made in a source
file.

But anyway, I don't think including io.h is the right thing to do.
The unistd.h header is supposed to provide a declaration for isatty.
If it does not, then we need to fix that problem in gnulib.

jwe


reply via email to

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