ParaView internal Python libraries are still broken

I tested new nightly build MacOS ParaView-5.7.0-1035-g5b9485e246.app and it’s still broken like to MacOS ParaView-5.7.0.app:

from scipy import linalg
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/__init__.py", line 190, in <module>
    from .misc import *
  File "/Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/misc.py", line 5, in <module>
    from .blas import get_blas_funcs
  File "/Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/blas.py", line 214, in <module>
    from scipy.linalg import _fblas
ImportError: dlopen(/Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/_fblas.so, 2): Symbol not found: _main
  Referenced from: /Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/_fblas.so
  Expected in: flat namespace
 in /Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/Python/scipy/linalg/_fblas.so

That’s very bad because many internal libraries are broken and we can’t load them and any related libraries from PYTHONPATH. And that’s [almost] impossible to replace all of them by not related libraries from PYTHONPATH.

One more thing: this binary lib can be loaded without issues:
from numpy import linalg

Also, I can remove “scipy” internal package manually and load it from external PYTHONPATH.

Very strange, I can run from scipy import linalg without any error.

Please share what otool -L /Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/MacOS/paraview reports.

otool -L /Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/MacOS/paraview

/Applications/ParaView-5.7.0-1035-g5b9485e246.app/Contents/MacOS/paraview:

@executable_path/../Libraries/libpqApplicationComponents-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.12.0, current version 5.12.6)

@executable_path/../Libraries/libvtkUtilitiesPythonInitializer-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libpqComponents-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libpqPython-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libpqCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libpqWidgets-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.12.0, current version 5.12.6)

@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.12.0, current version 5.12.6)

@executable_path/../Libraries/libvtkqttesting-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkGUISupportQt-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkRemotingSettings-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkRemotingServerManager-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkjsoncpp-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkprotobuf-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkRemotingCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1349.63.0)

@executable_path/../Libraries/libvtkRemotingClientServerStream-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkPVVTKExtensionsCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkPythonInterpreter-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkInteractionWidgets-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkParallelCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkIOXML-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkIOXMLParser-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkRenderingOpenGL2-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)

@executable_path/../Libraries/libvtkglew-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)

@executable_path/../Libraries/libvtkRenderingCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkFiltersSources-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkFiltersGeneral-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkFiltersCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonExecutionModel-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonDataModel-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonMisc-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonTransforms-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonMath-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkWrappingPythonCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtkCommonCore-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libvtksys-pv5.7.5.7.dylib (compatibility version 1.0.0, current version 5.7.0)

@executable_path/../Libraries/libtbb.dylib (compatibility version 0.0.0, current version 0.0.0)

/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.10)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)

As I mentioned over in this thread, the fact that it is looking for _main is very odd. Does this still occur today?

@ben.boeckel I’m still getting this issue.

 adamturner@Adams-MacBook-Pro > pvpython                                                                          

WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using ‘python3’ from within Terminal.

Python 2.7.16 (default, Feb 29 2020, 01:55:37)
[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwin
Type “help”, “copyright”, “credits” or “license” for more information.

import scipy.interpolate
Traceback (most recent call last):
File “”, line 1, in
File “/Applications/ParaView-5.8.0.app/Contents/Python/scipy/interpolate/init.py”, line 175, in
from .interpolate import *
File “/Applications/ParaView-5.8.0.app/Contents/Python/scipy/interpolate/interpolate.py”, line 20, in
import scipy.linalg
File “/Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/init.py”, line 190, in
from .misc import *
File “/Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/misc.py”, line 5, in
from .blas import get_blas_funcs
File “/Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/blas.py”, line 214, in
from scipy.linalg import _fblas
ImportError: dlopen(/Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/_fblas.so, 2): Symbol not found: _main
Referenced from: /Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/_fblas.so
Expected in: flat namespace
in /Applications/ParaView-5.8.0.app/Contents/Python/scipy/linalg/_fblas.so

Thoughts @chuckatkins? Have you seen this with BLAS/LAPACK elsewhere?

I’m not seeing much else on a search, so I assume we’re building scipy wrong in some way here, but we’re just using python setup.py subcommands, so I’m at a loss :frowning: .