# upgrade SWIG to 3.0.8 or later

XMLWordPrintable

#### Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
None
• Story Points:
2
• Team:
Architecture

#### Description

SWIG 3.0.5 is now out and has several useful fixes w.r.t. 3.0.2 (which we are presently using) including:

• A bug we've had to work around involving templated methods of classes
• improved handling of new-style enums (they are no longer hoisted into the global namespace, which was a serious misfeature of SWIG 3.0.2)

I propose we try it out using buildbot (when we have some time), and if it works, we adopt it. Adopting it will help us relax the restrictions on what C+11 features can be used in C+ header files.

#### Activity

Hide
Tim Jenness added a comment -

Looks like the problem is from DM-2306 where some wrapper code for makeControl was added that assumes there is an args argument but the _init_ function for SdssCentroidTransform does not have an args.

Show
Tim Jenness added a comment - Looks like the problem is from DM-2306 where some wrapper code for makeControl was added that assumes there is an args argument but the _ init _ function for SdssCentroidTransform does not have an args.
Hide
John Swinbank added a comment -

Pushed a tiny fix for that last comment to meas_base tickets/DM-1972.

Show
John Swinbank added a comment - Pushed a tiny fix for that last comment to meas_base tickets/ DM-1972 .
Hide
Tim Jenness added a comment -

Russell Owen can you review this? Turns out to be a few lines of trivial changes to get SWIG 3.0.10 to build lsst_ci and Sims.

Show
Tim Jenness added a comment - Russell Owen can you review this? Turns out to be a few lines of trivial changes to get SWIG 3.0.10 to build lsst_ci and Sims.
Hide
Russell Owen added a comment -

These changes look good to me. Two minor requests, neither required:

• Write a simple test for the std::type_info python wrapper
• Expand on the comment explaining line 30 of plugsinLib.i a bit, e.g.:

 // Augment C++ measurement transform constructors with a Python fragment which converts // the Python config (first constructor argument) to a C++ control object. C++ measurement transforms // can then be constructed from Python in exactly the same way as transforms implemented in Python. 

Show
Russell Owen added a comment - These changes look good to me. Two minor requests, neither required: Write a simple test for the std::type_info python wrapper Expand on the comment explaining line 30 of plugsinLib.i a bit, e.g.: // Augment C++ measurement transform constructors with a Python fragment which converts // the Python config (first constructor argument) to a C++ control object. C++ measurement transforms // can then be constructed from Python in exactly the same way as transforms implemented in Python.
Hide
Tim Jenness added a comment -

Thanks. I added the comment. Did not add a test as we decided on HipChat that it was a low priority and SWIG working at all was a good test.

Show
Tim Jenness added a comment - Thanks. I added the comment. Did not add a test as we decided on HipChat that it was a low priority and SWIG working at all was a good test.

#### People

Assignee:
Tim Jenness
Reporter:
Russell Owen
Reviewers:
Russell Owen
Watchers:
Jim Bosch, John Swinbank, Kian-Tat Lim, Mario Juric, Pim Schellart [X] (Inactive), Russell Owen, Tim Jenness
0 Vote for this issue
Watchers:
7 Start watching this issue

#### Dates

Created:
Updated:
Resolved:

#### Jenkins

No builds found.