← Back to team overview

kicad-developers team mailing list archive

Re: swig/scripting breakage?

 

I guess I should also have linked [3].

[3] https://github.com/swig/swig/issues/73

2016-04-06 20:13 GMT+02:00 Nick Østergaard <oe.nick@xxxxxxxxx>:
> It looks like this is an issue with swig 2.0.11. It seems to be fixed
> in swig 2.0.12 in [1]. This is further confirmed by a freebsd packager
> in [2] removing the pathces against 2.0.11 to fix a similar issue.
>
> I guess we can ignore this fine as we discussed earlier because 14.04
> is very soon EOL or you can patch and rebuild swig on your system.
>
> [1] https://github.com/swig/swig/commit/acc5a5eb2d9ba7ab95cf5bb22221ba503c249de1
> [2] https://github.com/splbio/freebsd-ports/commit/895194e3657737d1f76550853b7571e886bb07dd
>
> 2016-04-06 3:03 GMT+02:00 Mark Roszko <mark.roszko@xxxxxxxxx>:
>> 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.
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp


References