← Back to team overview

kicad-developers team mailing list archive

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