[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/
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations,
Dan Sebald <=
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Dan Sebald, 2018/06/09
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Dan Sebald, 2018/06/09
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Dan Sebald, 2018/06/09
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, John W. Eaton, 2018/06/10
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Dan Sebald, 2018/06/10
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Mike Miller, 2018/06/10
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Guillaume, 2018/06/11
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, John W. Eaton, 2018/06/11
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, John W. Eaton, 2018/06/11
- [Octave-bug-tracker] [bug #54091] Octave not compiling successfully because of missing <iostream> declarations, Rik, 2018/06/11