Menu

#722 Compilation error with Gcc 6

v1.0 (example)
closed-fixed
nobody
5
2017-08-28
2017-05-18
No

GDL is included in the FreeBSD ports tree, and it builds fine with Gcc-5, but we are in the process to switch to Gcc-6, and with this version, it fails, with this error:

In file included from src/datatypes.hpp:499:0,
from src/envt.hpp:28,
from src/dialog.cpp:25:
src/specializations.hpp:537:15: error: template-id 'operator>><>' for 'std::__1::istream& operator>>(std::__1::istream&, Data_<spdfloat>&)' does not match any template declaration
std::istream& operator>>(std::istream& i, Data_<spdfloat>& data_);
^~~~~~~~
In file included from /usr/local/include/wx-2.8/wx/utils.h:31:0,
from /usr/local/include/wx-2.8/wx/cursor.h:41,
from /usr/local/include/wx-2.8/wx/event.h:22,
from /usr/local/include/wx-2.8/wx/window.h:19,
from /usr/local/include/wx-2.8/wx/toplevel.h:21,
from /usr/local/include/wx-2.8/wx/dialog.h:17,
from /usr/local/include/wx-2.8/wx/filedlg.h:19,
from src/dialog.cpp:21:
/usr/local/include/wx-2.8/wx/longlong.h:1073:43: note: candidates are: wxTextInputStream& operator>>(wxTextInputStream&, long long unsigned int&)
WXDLLIMPEXP_BASE class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxULongLong_t &value);
^~~~~~~~
/usr/local/include/wx-2.8/wx/longlong.h:1074:43: note: wxTextInputStream& operator>>(wxTextInputStream&, long long int&)
WXDLLIMPEXP_BASE class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxLongLong_t &value);</spdfloat></spdfloat>

A PR is open at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219300

Discussion

  • Alain C.

    Alain C. - 2017-05-19

    ok, thanks for the feedback, we are not ready !

    I upgrade my debian to have gcc-6 too, and received other problems
    (because I compile with -j N (8))

    convol.cpp: In function ‘BaseGDL lib::convol_fun(EnvT)’:
    convol.cpp:991:56: error: lvalue required as left operand of assignment
    tmp.real()=std::numeric_limits<float>::quiet_NaN();
    ^
    convol.cpp:992:56: error: lvalue required as left operand of assignment
    tmp.imag()=std::numeric_limits<float>::quiet_NaN();
    ^
    convol.cpp:997:57: error: lvalue required as left operand of assignment
    tmp.real()=std::numeric_limits<double>::quiet_NaN();
    ^
    convol.cpp:998:57: error: lvalue required as left operand of assignment
    tmp.imag()=std::numeric_limits<double>::quiet_NaN();
    ^</double></double></float></float>

     
  • giloo

    giloo - 2017-05-21

    for this bug report, apparently a clash due to #include filedlg.h
    which is not even needed (mageai 5, gcc 4.9.2)!
    please try again.

    For convol() problems, should be cured now.

     
  • giloo

    giloo - 2017-08-28
    • status: open --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB