You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scipy internally builds it's own qhull as a shared library that is imported at runtime for a couple of packages. When we build Spheral with clang, I find that if Spheral is imported before one of the select scipy packages it will fail with a runtime error. The solution seems to be to import a scipy package before importing the compiled Spheral package so that the LD runtime gets the scipyqhull library first.
qhull has an internal check to ensure any call to it's API is coming from the same type of library (i.e. shared vs static) and the shared library seems to take precedence over the static one for this test. I don't know why we haven't seen this before on clang but I'm confident it has to do with the ctype LD runtime flags we have to throw in Spheral.py when not using a gnu type compiler.
Python3 has better support for RTLD flags that Python2.7, after the Python3 port we should investigate this further.
The text was updated successfully, but these errors were encountered:
A simple workaround might be to import scipy in our Spheral.py front-end script before we import the compiled packages, if the RTLD flags are difficult to sort out.
scipy
internally builds it's ownqhull
as a shared library that is imported at runtime for a couple of packages. When we build Spheral with clang, I find that if Spheral is imported before one of the selectscipy
packages it will fail with a runtime error. The solution seems to be to import ascipy
package before importing the compiled Spheral package so that the LD runtime gets thescipy
qhull
library first.qhull
has an internal check to ensure any call to it's API is coming from the same type of library (i.e. shared vs static) and the shared library seems to take precedence over the static one for this test. I don't know why we haven't seen this before on clang but I'm confident it has to do with thectype
LD runtime flags we have to throw inSpheral.py
when not using a gnu type compiler.Python3 has better support for RTLD flags that Python2.7, after the Python3 port we should investigate this further.
The text was updated successfully, but these errors were encountered: