Bug 216035 - astro/xplanet: fails to build with lang/gcc6 or later
Summary: astro/xplanet: fails to build with lang/gcc6 or later
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Roman Bogorodskiy
URL:
Keywords: needs-patch
Depends on:
Blocks:
 
Reported: 2017-01-13 16:23 UTC by Jan Beich
Modified: 2017-05-14 14:17 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (novel)


Attachments
fix build with gcc6 (467 bytes, patch)
2017-01-16 15:45 UTC, Roman Bogorodskiy
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2017-01-13 16:23:20 UTC
addArcs.cpp:261:65: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addArcs.cpp:261:65: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addArcs.cpp:295:53: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline (line, 256, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addArcs.cpp:295:53: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
            while (inFile.getline (line, 256, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addMarkers.cpp:426:65: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addMarkers.cpp:426:65: error: invalid operands to binary expression ('std::__1::basic_istream<char>'and 'long')
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addMarkers.cpp:472:65: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addMarkers.cpp:472:65: error: invalid operands to binary expression ('std::__1::basic_istream<char>'and 'long')
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:491:49: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline(lines[0], 80) != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:491:49: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
            while (inFile.getline(lines[0], 80) != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:493:51: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
                if ((inFile.getline(lines[1], 80) == NULL)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:493:51: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
                if ((inFile.getline(lines[1], 80) == NULL)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:494:54: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
                    || (inFile.getline(lines[2], 80) == NULL))
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:494:54: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
                    || (inFile.getline(lines[2], 80) == NULL))
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:545:65: warning: comparison between NULL and non-pointer ('std::__1::basic_istream<char>' and NULL) [-Wnull-arithmetic]
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
addSatellites.cpp:545:65: error: invalid operands to binary expression ('std::__1::basic_istream<char>' and 'long')
            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~

build log: http://sprunge.us/dSQf
bisect first bad: https://github.com/llvm-mirror/libcxx/commit/3a1b90a866b6
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2017-01-13 18:00:08 UTC
Does this port build its C++ sources with -std=c++11?
Comment 2 Jan Beich freebsd_committer freebsd_triage 2017-01-13 18:18:42 UTC
I think, you can grep the build log to get the answer.
Comment 3 Jan Beich freebsd_committer freebsd_triage 2017-01-14 00:52:45 UTC
(In reply to Dimitry Andric from bug 216034 comment #6)
> Note that the upstream author has reverted the commit causing this here:
>
> http://llvm.org/viewvc/llvm-project?rev=291921&view=rev
>
> and has also merged it to the 4.0 branch. I will import the upstream
> branch into the projects/clang400-import branch soon.

lang/gcc6 and later versions are also affected and tell a slightly more verbose story:

addArcs.cpp: In function 'void addArcs(PlanetProperties*, Planet*, View*, ProjectionBase*, std::multimap<double, Annotation*>&)':
addArcs.cpp:261:65: error: no match for 'operator!=' (operand types are 'std::basic_istream<char>' and 'std::nullptr_t')
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                 ^
In file included from /usr/local/lib/gcc6/include/c++/iosfwd:40:0,
                 from /usr/local/lib/gcc6/include/c++/ios:38,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/postypes.h:221:5: note: candidate: template<class _StateT> boolstd::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::fpos<_StateT>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:64:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_pair.h:444:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_pair.h:444:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::pair<_T1, _T2>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:304:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:304:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::reverse_iterator<_Iterator>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:361:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:361:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::reverse_iterator<_Iterator>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1125:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1125:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::move_iterator<_IteratorL>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1131:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1131:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::move_iterator<_IteratorL>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/string:41:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/allocator.h:158:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/allocator.h:158:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::allocator<_CharT>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/string:41:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/allocator.h:164:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/allocator.h:164:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::allocator<_CharT>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5097:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5097:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5110:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5110:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   mismatched types 'const _CharT*' and 'std::basic_istream<char>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5122:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5122:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:46:0,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/system_error:311:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:311:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_code&'
/usr/local/lib/gcc6/include/c++/system_error:315:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:315:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_code&'
/usr/local/lib/gcc6/include/c++/system_error:319:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:319:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_condition&'
/usr/local/lib/gcc6/include/c++/system_error:323:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:323:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_condition&'
In file included from /usr/local/lib/gcc6/include/c++/bits/locale_facets.h:48:0,
                 from /usr/local/lib/gcc6/include/c++/bits/basic_ios.h:37,
                 from /usr/local/lib/gcc6/include/c++/ios:44,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/map:60:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:334:5: note: candidate: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator!=(const _Rb_tree_iterator<_Val>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:334:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/map:60:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:1302:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key,_Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:1302:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/tuple:39:0,
                 from /usr/local/lib/gcc6/include/c++/bits/stl_map.h:63,
                 from /usr/local/lib/gcc6/include/c++/map:61,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/array:246:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/array:246:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::array<_Tp, _Nm>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_map.h:63:0,
                 from /usr/local/lib/gcc6/include/c++/map:61,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/tuple:1363:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Args1 ...>&, const std::tuple<_Args2...>&)
     operator!=(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/tuple:1363:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::tuple<_Args1 ...>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/map:61:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_map.h:1331:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_map.h:1331:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/map:62:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_multimap.h:996:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_multimap.h:996:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
In file included from /usr/local/lib/gcc6/include/c++/vector:64:0,
                 from addArcs.cpp:8:
/usr/local/lib/gcc6/include/c++/bits/stl_vector.h:1533:5: note: candidate: template<class _Tp, class_Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_vector.h:1533:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:261:68: note:   'std::basic_istream<char>' is not derived from 'const std::vector<_Tp, _Alloc>'
             while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
                                                                    ^
addArcs.cpp: In function 'void addArcs(View*, std::multimap<double, Annotation*>&)':
addArcs.cpp:295:53: error: no match for 'operator!=' (operand types are 'std::basic_istream<char>' and 'std::nullptr_t')
             while (inFile.getline (line, 256, '\n') != NULL)
                                                     ^
In file included from /usr/local/lib/gcc6/include/c++/iosfwd:40:0,
                 from /usr/local/lib/gcc6/include/c++/ios:38,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/postypes.h:221:5: note: candidate: template<class _StateT> boolstd::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::fpos<_StateT>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:64:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_pair.h:444:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_pair.h:444:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::pair<_T1, _T2>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:304:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:304:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::reverse_iterator<_Iterator>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:361:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:361:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::reverse_iterator<_Iterator>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1125:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1125:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::move_iterator<_IteratorL>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_algobase.h:67:0,
                 from /usr/local/lib/gcc6/include/c++/bits/char_traits.h:39,
                 from /usr/local/lib/gcc6/include/c++/ios:40,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1131:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_iterator.h:1131:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::move_iterator<_IteratorL>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/string:41:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/allocator.h:158:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/allocator.h:158:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::allocator<_CharT>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/string:41:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/allocator.h:164:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/allocator.h:164:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::allocator<_CharT>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5097:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5097:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5110:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5110:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   mismatched types 'const _CharT*' and 'std::basic_istream<char>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/string:52:0,
                 from /usr/local/lib/gcc6/include/c++/bits/locale_classes.h:40,
                 from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:41,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5122:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/basic_string.h:5122:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/ios_base.h:46:0,
                 from /usr/local/lib/gcc6/include/c++/ios:42,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/system_error:311:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:311:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_code&'
/usr/local/lib/gcc6/include/c++/system_error:315:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:315:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_code&'
/usr/local/lib/gcc6/include/c++/system_error:319:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:319:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_condition&'
/usr/local/lib/gcc6/include/c++/system_error:323:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^~~~~~~~
/usr/local/lib/gcc6/include/c++/system_error:323:3: note:   no known conversion for argument 1 from 'std::basic_istream<char>' to 'const std::error_condition&'
In file included from /usr/local/lib/gcc6/include/c++/bits/locale_facets.h:48:0,
                 from /usr/local/lib/gcc6/include/c++/bits/basic_ios.h:37,
                 from /usr/local/lib/gcc6/include/c++/ios:44,
                 from /usr/local/lib/gcc6/include/c++/istream:38,
                 from /usr/local/lib/gcc6/include/c++/fstream:38,
                 from addArcs.cpp:4:
/usr/local/lib/gcc6/include/c++/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/map:60:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:334:5: note: candidate: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator!=(const _Rb_tree_iterator<_Val>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:334:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/map:60:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:1302:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key,_Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_tree.h:1302:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/tuple:39:0,
                 from /usr/local/lib/gcc6/include/c++/bits/stl_map.h:63,
                 from /usr/local/lib/gcc6/include/c++/map:61,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/array:246:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/array:246:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::array<_Tp, _Nm>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/bits/stl_map.h:63:0,
                 from /usr/local/lib/gcc6/include/c++/map:61,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/tuple:1363:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Args1 ...>&, const std::tuple<_Args2...>&)
     operator!=(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/tuple:1363:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::tuple<_Args1 ...>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/map:61:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_map.h:1331:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_map.h:1331:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/map:62:0,
                 from addArcs.cpp:6:
/usr/local/lib/gcc6/include/c++/bits/stl_multimap.h:996:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_multimap.h:996:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
In file included from /usr/local/lib/gcc6/include/c++/vector:64:0,
                 from addArcs.cpp:8:
/usr/local/lib/gcc6/include/c++/bits/stl_vector.h:1533:5: note: candidate: template<class _Tp, class_Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/local/lib/gcc6/include/c++/bits/stl_vector.h:1533:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/locale.h:36:0,
                 from /usr/local/lib/gcc6/include/c++/clocale:42,
                 from addArcs.cpp:1:
addArcs.cpp:295:56: note:   'std::basic_istream<char>' is not derived from 'const std::vector<_Tp, _Alloc>'
             while (inFile.getline (line, 256, '\n') != NULL)
                                                        ^
Comment 4 Roman Bogorodskiy freebsd_committer freebsd_triage 2017-01-16 15:45:25 UTC
Created attachment 178957 [details]
fix build with gcc6

The attached patch fixes things for gcc6 at least. Not sure about libc++ 4.0 though.
Comment 5 Roman Bogorodskiy freebsd_committer freebsd_triage 2017-01-16 15:55:41 UTC
Comment on attachment 178957 [details]
fix build with gcc6

Bah, == NULL case needs to be handled by a different regex obviously.
Comment 6 Jan Beich freebsd_committer freebsd_triage 2017-01-16 16:04:08 UTC
Comment on attachment 178957 [details]
fix build with gcc6

Builds fine with libc++ 4.0 as well. For an old FreeBSD release try:

  # astro/xplanet/Makefile.local
  CXXFLAGS += -nostdinc++ -isystem /path/to/libcxx/include

> +	@${FIND} ${WRKSRC}/src -name "*.cpp"|${XARGS} -tI{} ${REINPLACE_CMD} \
> +		-e "/getline/ s|[!=]= NULL||" {}

- Replace "|${XARGS} -tI{} ... {}" with "-exec ... {} +"
- Replace "== NULL" with ".fail()" to avoid inverse logic
Comment 7 Jan Beich freebsd_committer freebsd_triage 2017-01-16 16:09:45 UTC
Or just apply upstream fix https://sourceforge.net/p/xplanet/code/207/
Comment 8 commit-hook freebsd_committer freebsd_triage 2017-01-16 17:07:35 UTC
A commit references this bug:

Author: novel
Date: Mon Jan 16 17:06:39 UTC 2017
New revision: 431683
URL: https://svnweb.freebsd.org/changeset/ports/431683

Log:
  astro/xplanet: fix build with libc++ 4.0 and gcc6

  PR:		216035
  Reported by:	jbeich
  Obtained from:	upstream

Changes:
  head/astro/xplanet/files/patch-null-comparison-fix
Comment 9 Roman Bogorodskiy freebsd_committer freebsd_triage 2017-01-16 17:09:02 UTC
Added a fix from upstream, I guess things should be fine now.