kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #23969
swig/scripting breakage?
So I believe the C++11 enabling broke this but I really haven't had
the time to look into it.
This is from the server I use purely for coverity builds. Its
basically "clean' (no development junk).
mroszko@ip-XXXXXXX:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
mroszko@ip-XXXXXXX:~$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
/home/mroszko/kicad/pcbnew/pcbnew_wrap.cxx: In function ‘PyObject*
_wrap_str_utf8_Map_erase__SWIG_2(PyObject*, PyObject*)’:
/home/mroszko/kicad/pcbnew/pcbnew_wrap.cxx:29887:26: error: no
matching function for call to ‘std::map<std::basic_string<char>, UTF8,
std::less<std::basic_string<char> >, std::allocator<std::pair<const
std::basic_string<char>, UTF8> >
>::erase(SwigValueWrapper<std::_Rb_tree_iterator<std::pair<const
std::basic_string<char>, UTF8> > >&,
SwigValueWrapper<std::_Rb_tree_iterator<std::pair<const
std::basic_string<char>, UTF8> > >&)’
(arg1)->erase(arg2,arg3);
^
/home/mroszko/kicad/pcbnew/pcbnew_wrap.cxx:29887:26: note: candidates are:
In file included from /usr/include/c++/4.8/map:61:0,
from /home/mroszko/kicad/pcbnew/pcbnew_wrap.cxx:4981:
/usr/include/c++/4.8/bits/stl_map.h:690:7: note: std::map<_Key, _Tp,
_Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare,
_Alloc>::erase(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator)
[with _Key = std::basic_string<char>; _Tp = UTF8; _Compare =
std::less<std::basic_string<char> >; _Alloc =
std::allocator<std::pair<const std::basic_string<char>, UTF8> >;
std::map<_Key, _Tp, _Compare, _Alloc>::iterator =
std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, UTF8>
>; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator =
std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char>,
UTF8> >]
erase(const_iterator __position)
^
/usr/include/c++/4.8/bits/stl_map.h:690:7: note: candidate expects 1
argument, 2 provided
/usr/include/c++/4.8/bits/stl_map.h:696:7: note: std::map<_Key, _Tp,
_Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare,
_Alloc>::erase(std::map<_Key, _Tp, _Compare, _Alloc>::iterator) [with
_Key = std::basic_string<char>; _Tp = UTF8; _Compare =
std::less<std::basic_string<char> >; _Alloc =
std::allocator<std::pair<const std::basic_string<char>, UTF8> >;
std::map<_Key, _Tp, _Compare, _Alloc>::iterator =
std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, UTF8>
>]
erase(iterator __position)
^
/usr/include/c++/4.8/bits/stl_map.h:696:7: note: candidate expects 1
argument, 2 provided
/usr/include/c++/4.8/bits/stl_map.h:726:7: note: std::map<_Key, _Tp,
_Compare, _Alloc>::size_type std::map<_Key, _Tp, _Compare,
_Alloc>::erase(const key_type&) [with _Key = std::basic_string<char>;
_Tp = UTF8; _Compare = std::less<std::basic_string<char> >; _Alloc =
std::allocator<std::pair<const std::basic_string<char>, UTF8> >;
std::map<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned int;
std::map<_Key, _Tp, _Compare, _Alloc>::key_type =
std::basic_string<char>]
erase(const key_type& __x)
^
/usr/include/c++/4.8/bits/stl_map.h:726:7: note: candidate expects 1
argument, 2 provided
/usr/include/c++/4.8/bits/stl_map.h:746:7: note: std::map<_Key, _Tp,
_Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare,
_Alloc>::erase(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator,
std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator) [with _Key =
std::basic_string<char>; _Tp = UTF8; _Compare =
std::less<std::basic_string<char> >; _Alloc =
std::allocator<std::pair<const std::basic_string<char>, UTF8> >;
std::map<_Key, _Tp, _Compare, _Alloc>::iterator =
std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, UTF8>
>; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator =
std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char>,
UTF8> >]
erase(const_iterator __first, const_iterator __last)
^
/usr/include/c++/4.8/bits/stl_map.h:746:7: note: no known conversion
for argument 1 from
‘SwigValueWrapper<std::_Rb_tree_iterator<std::pair<const
std::basic_string<char>, UTF8> > >’ to
‘std::map<std::basic_string<char>, UTF8,
std::less<std::basic_string<char> >, std::allocator<std::pair<const
std::basic_string<char>, UTF8> > >::const_iterator {aka
std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char>,
UTF8> >}’
make[2]: *** [pcbnew/CMakeFiles/pcbnew_kiface.dir/pcbnew_wrap.cxx.o] Error 1
make[1]: *** [pcbnew/CMakeFiles/pcbnew_kiface.dir/all] Error 2
Anyone have any thoughts?
I am probably going to disable scripting for now.
Follow ups