octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #54091] Octave not compiling successfully beca


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations
Date: Sat, 9 Jun 2018 20:44:49 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

URL:
  <http://savannah.gnu.org/bugs/?54091>

                 Summary: Octave not compiling successfully because of missing
<iostream> declarations
                 Project: GNU Octave
            Submitted by: sebald
            Submitted on: Sun 10 Jun 2018 12:44:48 AM UTC
                Category: None
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

I'm seeing a whole host of errors when compiling:


  CXX      libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-procbuf.lo
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:31:0:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:68:53:
error: ‘std::ios<char, std::char_traits<char> >::seekdir’ has not been
declared
   std::streampos seekoff (std::streamoff, std::ios::seekdir,
                                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:69:37:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:72:37:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:69:48:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:69:63:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                               ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:72:48:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:72:63:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                               ^
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:31:0:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:184:53:
error: ‘std::ios<char, std::char_traits<char> >::seekdir’ has not been
declared
   std::streampos seekoff (std::streamoff, std::ios::seekdir,
                                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:185:37:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:188:37:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:185:48:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:185:63:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                               ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:188:48:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:188:63:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
                           std::ios::openmode = std::ios::in |
std::ios::out);
                                                               ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:103:30:
error: ‘seekdir_to_whence’ declared as an ‘inline’ variable
 seekdir_to_whence (std::ios::seekdir dir)
                              ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:103:20:
error: incomplete type ‘std::ios {aka std::basic_ios<char>}’ used in
nested name specifier
 seekdir_to_whence (std::ios::seekdir dir)
                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:104:1:
error: expected ‘,’ or ‘;’ before ‘{’ token
 {
 ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:113:36:
error: ‘std::ios<char, std::char_traits<char> >::seekdir’ has not been
declared
                          std::ios::seekdir dir,
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:114:36:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                          std::ios::openmode)
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc: In
member function ‘std::streampos c_file_ptr_buf::seekoff(std::streamoff, int,
int)’:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:118:63:
error: ‘seekdir_to_whence’ cannot be used as a function
       octave_fseeko_wrapper (f, offset, seekdir_to_whence (dir));
                                                               ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc: At
global scope:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:127:59:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
 c_file_ptr_buf::seekpos (std::streampos offset, std::ios::openmode)
                                                           ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:248:37:
error: ‘std::ios<char, std::char_traits<char> >::seekdir’ has not been
declared
                           std::ios::seekdir /* dir */,
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:249:37:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
                           std::ios::openmode)
                                     ^
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.cc:266:66:
error: ‘std::ios<char, std::char_traits<char> >::openmode’ has not been
declared
 c_zfile_ptr_buf::seekpos (std::streampos /* offset */, std::ios::openmode)
                                                                  ^
Makefile:17755: recipe for target
'libinterp/corefcn/libinterp_corefcn_libcorefcn_la-c-file-ptr-stream.lo'
failed
make[2]: ***
[libinterp/corefcn/libinterp_corefcn_libcorefcn_la-c-file-ptr-stream.lo] Error
1
make[2]: *** Waiting for unfinished jobs....
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:31:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h: In
instantiation of ‘class c_file_ptr_stream<std::basic_iostream<char>,
_IO_FILE*, c_file_ptr_buf>’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:45:12:  
required from ‘octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::octave_tstdiostream(const string&, FILE_T, int,
std::ios_base::openmode, octave::mach_info::float_format, typename
BUF_T::close_fcn) [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::__cxx11::string = std::__cxx11::basic_string<char>;
std::ios_base::openmode = std::_Ios_Openmode; typename BUF_T::close_fcn = int
(*)(_IO_FILE*)]’
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:113:45:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:105:1:
error: invalid use of incomplete type ‘class std::basic_iostream<char>’
 c_file_ptr_stream : public STREAM_T
 ^
In file included from /usr/include/c++/5/iomanip:39:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/usr/include/c++/5/iosfwd:89:11: note: declaration of ‘class
std::basic_iostream<char>’
     class basic_iostream;
           ^
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:31:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h: In
instantiation of ‘class c_file_ptr_stream<std::basic_iostream<char>,
gzFile_s*, c_zfile_ptr_buf>’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:45:12:  
required from ‘octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::octave_tstdiostream(const string&, FILE_T, int,
std::ios_base::openmode, octave::mach_info::float_format, typename
BUF_T::close_fcn) [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::__cxx11::string = std::__cxx11::basic_string<char>;
std::ios_base::openmode = std::_Ios_Openmode; typename BUF_T::close_fcn = int
(*)(gzFile_s*)]’
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:151:29:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:105:1:
error: invalid use of incomplete type ‘class std::basic_iostream<char>’
 c_file_ptr_stream : public STREAM_T
 ^
In file included from /usr/include/c++/5/iomanip:39:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/usr/include/c++/5/iosfwd:89:11: note: declaration of ‘class
std::basic_iostream<char>’
     class basic_iostream;
           ^
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘bool octave_tstdiostream<BUF_T, STREAM_T, FILE_T>::eof()
const [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:65:36: error:
‘class c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>’ has no member named ‘eof’
   bool eof (void) const { return s ? s->eof () : true; }
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::istream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::input_stream() [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::istream = std::basic_istream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:71:73: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>*’ to ‘std::istream* {aka std::basic_istream<char>*}’ in
return
   std::istream * input_stream (void) { return (md & std::ios::in) ? s :
nullptr; }
                                                                         ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::ostream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::output_stream() [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::ostream = std::basic_ostream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:73:75: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>*’ to ‘std::ostream* {aka std::basic_ostream<char>*}’ in
return
   std::ostream * output_stream (void) { return (md & std::ios::out) ? s :
nullptr; }
                                                                           ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘bool octave_tstdiostream<BUF_T, STREAM_T, FILE_T>::eof()
const [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:65:36: error:
‘class c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>’ has no member named ‘eof’
   bool eof (void) const { return s ? s->eof () : true; }
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::istream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::input_stream() [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::istream = std::basic_istream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:71:73: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>*’ to ‘std::istream* {aka std::basic_istream<char>*}’ in
return
   std::istream * input_stream (void) { return (md & std::ios::in) ? s :
nullptr; }
                                                                         ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::ostream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::output_stream() [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::ostream = std::basic_ostream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:73:75: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>*’ to ‘std::ostream* {aka std::basic_ostream<char>*}’ in
return
   std::ostream * output_stream (void) { return (md & std::ios::out) ? s :
nullptr; }
                                                                           ^
Makefile:18294: recipe for target
'libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-prcstrm.lo' failed
make[2]: ***
[libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-prcstrm.lo] Error 1
make[2]: Leaving directory '/usr/local/src/octave/octave/build1'
Makefile:26612: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/octave/octave/build1'
Makefile:10217: recipe for target 'all' failed
make: *** [all] Error 2


If I put back in the iostream header file, compilation is fine.  The
documentation for seekdir

http://www.cplusplus.com/reference/ios/ios_base/seekdir/?kw=seekdir

suggests we want ios_base which apparently can be gotten via either <ios> or
<iostream>.  If I make the following change


diff --git a/libinterp/corefcn/c-file-ptr-stream.h
b/libinterp/corefcn/c-file-pt
--- a/libinterp/corefcn/c-file-ptr-stream.h
+++ b/libinterp/corefcn/c-file-ptr-stream.h
@@ -27,6 +27,7 @@ along with Octave; see the file COPYING.
 
 #include <cstdio>
 
+#include <ios>
 #include <iosfwd>
 #include <streambuf>
 


it eliminates the majority of the errors.  The following errors remain:


  CXX      libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-stream.lo
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:31:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h: In
instantiation of ‘class c_file_ptr_stream<std::basic_iostream<char>,
_IO_FILE*, c_file_ptr_buf>’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:45:12:  
required from ‘octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::octave_tstdiostream(const string&, FILE_T, int,
std::ios_base::openmode, octave::mach_info::float_format, typename
BUF_T::close_fcn) [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::__cxx11::string = std::__cxx11::basic_string<char>;
std::ios_base::openmode = std::_Ios_Openmode; typename BUF_T::close_fcn = int
(*)(_IO_FILE*)]’
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:113:45:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:106:1:
error: invalid use of incomplete type ‘class std::basic_iostream<char>’
 c_file_ptr_stream : public STREAM_T
 ^
In file included from /usr/include/c++/5/iomanip:39:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/usr/include/c++/5/iosfwd:89:11: note: declaration of ‘class
std::basic_iostream<char>’
     class basic_iostream;
           ^
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:31:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h: In
instantiation of ‘class c_file_ptr_stream<std::basic_iostream<char>,
gzFile_s*, c_zfile_ptr_buf>’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:45:12:  
required from ‘octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::octave_tstdiostream(const string&, FILE_T, int,
std::ios_base::openmode, octave::mach_info::float_format, typename
BUF_T::close_fcn) [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::__cxx11::string = std::__cxx11::basic_string<char>;
std::ios_base::openmode = std::_Ios_Openmode; typename BUF_T::close_fcn = int
(*)(gzFile_s*)]’
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:151:29:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/c-file-ptr-stream.h:106:1:
error: invalid use of incomplete type ‘class std::basic_iostream<char>’
 c_file_ptr_stream : public STREAM_T
 ^
In file included from /usr/include/c++/5/iomanip:39:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/usr/include/c++/5/iosfwd:89:11: note: declaration of ‘class
std::basic_iostream<char>’
     class basic_iostream;
           ^
In file included from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.h:28:0,
                 from
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:29:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘bool octave_tstdiostream<BUF_T, STREAM_T, FILE_T>::eof()
const [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:65:36: error:
‘class c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>’ has no member named ‘eof’
   bool eof (void) const { return s ? s->eof () : true; }
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::istream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::input_stream() [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::istream = std::basic_istream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:71:73: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>*’ to ‘std::istream* {aka std::basic_istream<char>*}’ in
return
   std::istream * input_stream (void) { return (md & std::ios::in) ? s :
nullptr; }
                                                                         ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::ostream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::output_stream() [with BUF_T = c_file_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*, c_file_ptr_buf>;
FILE_T = _IO_FILE*; std::ostream = std::basic_ostream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:73:75: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, _IO_FILE*,
c_file_ptr_buf>*’ to ‘std::ostream* {aka std::basic_ostream<char>*}’ in
return
   std::ostream * output_stream (void) { return (md & std::ios::out) ? s :
nullptr; }
                                                                           ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘bool octave_tstdiostream<BUF_T, STREAM_T, FILE_T>::eof()
const [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:65:36: error:
‘class c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>’ has no member named ‘eof’
   bool eof (void) const { return s ? s->eof () : true; }
                                    ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::istream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::input_stream() [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::istream = std::basic_istream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:71:73: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>*’ to ‘std::istream* {aka std::basic_istream<char>*}’ in
return
   std::istream * input_stream (void) { return (md & std::ios::in) ? s :
nullptr; }
                                                                         ^
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h: In
instantiation of ‘std::ostream* octave_tstdiostream<BUF_T, STREAM_T,
FILE_T>::output_stream() [with BUF_T = c_zfile_ptr_buf; STREAM_T =
c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*, c_zfile_ptr_buf>;
FILE_T = gzFile_s*; std::ostream = std::basic_ostream<char>]’:
/home/prog/octave/octave/octave/libinterp/corefcn/oct-prcstrm.cc:68:1:  
required from here
/home/prog/octave/octave/octave/libinterp/corefcn/oct-stdstrm.h:73:75: error:
cannot convert ‘c_file_ptr_stream<std::basic_iostream<char>, gzFile_s*,
c_zfile_ptr_buf>*’ to ‘std::ostream* {aka std::basic_ostream<char>*}’ in
return
   std::ostream * output_stream (void) { return (md & std::ios::out) ? s :
nullptr; }
                                                                           ^
Makefile:18294: recipe for target
'libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-prcstrm.lo' failed
make[2]: ***
[libinterp/corefcn/libinterp_corefcn_libcorefcn_la-oct-prcstrm.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/usr/local/src/octave/octave/build1'
Makefile:26612: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/octave/octave/build1'
Makefile:10217: recipe for target 'all' failed
make: *** [all] Error 2


Would you like me to pursue this further, or do you (JWE) have changes in
mind?  Attach a changeset here and I'll test it on my system.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?54091>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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