discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] SWIG 3.0.3 Issue


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] SWIG 3.0.3 Issue
Date: Sun, 4 Jan 2015 13:59:55 -0500

On Sun, Jan 4, 2015 at 5:09 AM, Martin Braun <address@hidden> wrote:
Yay, SWIG troubles. Until we've figured out what's up, we should
probably put in a version check < 3.0.3 into our build setup.

>From your example, I actually prefer the 3.0.3 code output and am
curious why this would throw an error.

M

Yes, this is supposedly a new feature of SWIGs. From their changelog:

2014-10-28: vadz
[Python] Patch #201 The generated .py file no longer uses *args for all Python parameters.
Instead, the parameters are named using the C++ parameter names.

2014-10-21: wsfulton
Fix issue #242 - Use of the "kwargs" feature no longer automatically turns on the
"compactdefaultargs" feature if the target language does not support kwargs.
Only Java and Python support kwargs, so this affects all the other languages.

*** POTENTIAL INCOMPATIBILITY ***


So either we need to change the syntax of something to point swig to set a proper default argument for std::vector arguments or they need to fix a bug.

Tom

 
On 12/31/2014 04:19 AM, Michael Dickens wrote:
> SWIG 3.0.3 was released today (30 Dec 2014) < http://www.swig.org/ >,
> and I maintain this port in MacPorts. So, I naturally was curious to see
> if it works with GNU Radio. Sadly, GNU Radio fails because some of the
> SWIG-generated Python scripts have errors in them. For example, in SWIG
> 3.0.2 the vector_source_b::make is defined in blocks_swig1.py as:
> {{{
>     def make(*args, **kwargs):
>         """
>         make(std::vector< unsigned char,std::allocator< unsigned char >
>         > const & data, bool repeat=False,
>             int vlen=1, tags_vector_t tags=std::vector< gr::tag_t >())
>             -> vector_source_b_sptr
> }}}
> while in 3.0.3 this code is:
> {{{
>     def make(data, repeat=False, vlen=1, tags):
>         """
>         make(std::vector< unsigned char,std::allocator< unsigned char >
>         > const & data, bool repeat=False, int vlen=1, tags_vector_t
>         tags) -> vector_source_b_sptr
> }}}
>
> The above are both generated using the current GIT HEAD (c67281b6), just
> changing which version of SWIG is used.
>
> For now, I won't upgrade SWIG to 3.0.3 since this is a pretty critical
> issue. I'll also report it to the SWIG devs to see what they think -- it
> might be that there were changes to how SWIG %-things are used; it also
> might be that there's an actual error in the SWIG Python generator code.
> - MLD
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]