On Thu, Nov 30, 2006 at 06:22:30PM -0500, Lamar Owen wrote:
On Thursday 30 November 2006 18:01, Eric B. wrote:
We’ve decided to require SWIG 1.3.31 to compile the trunk.
Really. This makes support on anything older than bleeding edge very
difficult.
No, not very difficult. You do have to download and build SWIG 1.3.31.
We try to avoid upping the mininum rev level of any our dependencies,
but this one’s required for proper support of SWIG “directors”.
What do ‘directors’ do that GNUradio has to have? In other words, why the
need? Just curious.
They:
(1) allow Python to subclass C++ base classes with virtual functions,
(2) allow C++ code to transparently invoke Python code
This is used in gr_bin_statistics_f.{h,cc} and usrp_spectrum_sense.py
to allow C++ code to fire callbacks written in Python or C++.
See SWIG and Python for more info.
Sorry for any inconvenience this may bring.
Sorry for sounding less than thrilled at the thought of having to go back to
the bad old days of multiple SWIG versions (thought I was over that once I
got up to Fedora Core 5 from CentOS 4). It could be more than just an
inconvenience to some (depending upon how old their distribution is), and
that’s why I’m curious why it has to be 1.3.But again, I’m just curious, as I
didn’t see much discussion on the list prior to this (or I’m just blind to
the messages, one).
The problems that David Reed and others were seeing are fixed by using
SWIG 1.3.31. It is also required if anyone wants to use Python 2.5.
From the SWIG README:
What's New?
===========
SWIG-1.3.31 summary:
- Python modern classes regression fix
SWIG-1.3.30 summary:
- Python-2.5 support
- New language module: R
- Director support added for C#
- Numerous director fixes and improvements
- Improved mingw/msys support
- Better constants support in Guile and chicken modules
- Support for generating PHP5 class wrappers
- Important Java premature garbage collection fix
- Minor improvements/fixes in cffi, php, allegrocl, perl, chicken,
lua, ruby,
ocaml, python, java, c# and guile language modules
- Many many other bug fixes
Eric