SciDAVis crashes when one try to change the scripting language from muparser to python in OBS packages for xUbuntu. Command line returns "Segmentation fault (core dumped)".
To reproduce the crashes just access the Scripting menu -> Scripting language and, in the dialog window, double-click on Python.
It was verified for SciDAVis 1.D25 on Ubuntu - versions 16.04 (32 bits) and 18.04 (64 bits) with default installation and security updates.
On Wed, Jun 12, 2019 at 01:06:27PM -0000, Fellype wrote:
I will need to look into this, but unfortunately I need to have my NUC
connecting the the internet in order to do this, which it currently
isn't.
This may need to wait until I'm back in Sydney, mid-July.
--
Dr Russell Standish Phone 0425 253119 (mobile)
Principal, High Performance Coders
Visiting Senior Research Fellow hpcoder@hpcoders.com.au
Economics, Kingston University http://www.hpcoders.com.au
Related
SciDAVis Bugs:
#386The problem manifests on OpenSUSE Tumbleweed too. This is an OBS configuration bug. SciDaVis can start python properly when compiled from source code.
I tried building the RPM locally using the OBS software. When I install the locally built package, everything is sweet, I can run python no problems. So then I triggered a rebuild of scidavis on OBS, and once rebuilt, installed the newly built version. Crash...
I might have to raise a bug report with OBS. This is frustrating.
I am able to use the OBS SciDAVis 1.D25 packages with python in "Ubuntu 19.04" and "Ubuntu 18.04" (64 bits) with:
sudo apt-get install python-qt4
Maybe a similar command solves the problem in OpenSuse
Interesting. Dpkg tools should have figured out that python-qt4 was a runtime dependency, but perhaps because it is only loaded at runtime, it fools the package manager. I have now added python-qt4 as an explicit runtime dependency, hopefully this solves the issue.
The OpenSUSE issue is something else, because the locally generated package works, and any case so does the build from source.
OBS download server is currently down. I'm getting 403 permission denied error. Hopefully it will be back soon.
For "openSUSE Tumbleweed" (20190923) I was able to use python with OBS packages.
Either with
sudo zypper install python2-qt4 scidavis-1.25-7.1
or with
sudo zypper install python2-qt5 scidavis-1.25-9.7
As Miquel correctly identified, the problem is a missing runtime dependency on python2-qt4 (or PyQt for python2, qt4). I have updated the OBS spec and debian.control files with these dependencies, and checked that it works on Ubuntu 18.04. I tried updating my docker test script to run a simple python hello world example, but unfortunately, scidavis just hangs in docker doing anything python. In SciDAVis 2.x, python will be hard linked, rather than dynamically linked at scripting language change time,so this may be a more feasible test iin 2.x.
This issue is now fixed in SciDAVis 1.26.
Per OBS, more recent Linux distros will not build SciDAVis, at least not out of the box. Examples include CentOS 8, SLE 15, OpenSUSE Tumbleweed. If you are on one of those distros, please use SciDAVis 1.25, and either just avoid using Python, or work out a way of getting an appropriate PyQt from somewhere. I will have a 2.0.x beta release of SciDAVis in the Linux repositories soon that will be Qt5 and python3 (and hence the python API is a touch different to before).