Garth,

I have double-checked my installation and, indeed, swig is a dependency of
python-instant.  It is a mystery to me why it was not installed when I
re-installed fenics after my upgrade.

I have entered an issue on bitbucket to clean out the .instant cache on
version upgrade.

On 04/23/2014 07:04 AM, Garth N. Wells wrote:

On 18 Apr 2014, at 17:52, Mike Sussman
<[email protected]><[email protected]>wrote:

Folks,  I recently upgraded my 13.04 system to 13.10 using the update
manager.  I had only two problems with the update (a bug in the python idle
program and some minor difficulty with the network manager applet) but I
had a great deal of trouble getting FEniCS working.  Mike Welland gave me
some excellent advice that I could not do without, too.  I would like to
share my experiences so others can avoid them.

I had been using FEniCS for a while before the upgrade, going through the
"Chapter 3" tutorial, so I had a little bit of experience running it.
After the upgrade, and mindful of the warning on the web pages
http://fenicsproject.org/download/ubuntu_details.html, I followed the
directions there, re-adding the ppa and updating everything.
Unfortunately, the very first of the tutorial examples failed with a long
error message that, as best as I could tell, indicated that a file was not
found.  I posted a question on this list and Mike Welland responded with
some suggestions, but it was only after I began inserting print statements
into some python modules that I was able to discover that the missing file
was swig and dolfin was trying to check the version number.  Sure enough,
swig had not been installed during the upgrade, so I installed it.

Following the swig installation, the tutorial exercises got only to the
next error: "Exception: Incompatible swig versions detected. UFC swig
version is not the same as extension module swig version: '2.0.10' !=
'2.0.8'"  Inexperienced as I am, I did not appreciate the meaning of this
error message, and spent some time cleaning fenics off my system and then
re-installing it, all to no avail.  Finally, after seeing a reference to
the "~/.instant" directory in this list, I removed that directory (I guess
it contains cached compilations from my earlier runs on 13.04) and, voila,
everything works nicely now.

As a consequence, I have some suggestions:

In the first place, the fenics .deb package should depend on swig, so that
swig gets installed when fenics is installed.  In addition, a sensible
error message when swig is not present would be helpful for inexperienced
users.

Strange. When I check the dependancies via the package manager for 14.04, I
see Swig as a required package. Johannes Ring, the maintainer of the
packages, should be able to respond.


A second suggestion would be to recommend cleaning out the ~/.instant
directory after a system upgrade among the other suggestions on the web
page referenced above.  It might also be possible for instant to add some
mention of ~/.instant in its error message about incompatible swig
versions.  Alternatively, instant (or dolfin) could be configured to
recompile instead of throwing an error when the swig version doesn't match.

Good suggestion. We did discuss this a few years back when the Debian
packages were first created. I recall that it’s a Debian policy that
packages cannot automatically clean out cache files, so a helpful message
to run instant-clean would be in order. Could you register this point as an
issue on Bitbucket (https://bitbucket.org/fenics-project/dolfin/issues)?


Thanks again to Mike Welland for his help, and to the rest of you who post
to this list with helpful comments.

Thanks for the feedback.

Garth

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support



-- 
Mike Sussman
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to