[Paraview] undefined symbol: PyUnicodeUCS2_AsEncodedString
Fabian Wein
fabian.wein at fau.de
Fri Feb 2 10:44:45 EST 2018
I build latest head of paraview-superbuild with Python enabled and USE_SYSTEM_PYTHON=OFF on a openSUSE Tumbleweed system
I get the following error
Scanning dependencies of target CinemaPython
[ 2%] Copying files for Python package 'cinema_python'
[ 2%] Compiling Python package 'cinema_python'
Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 174, in _run_module_as_main
[ 2%] Building CXX object VTK/ThirdParty/xdmf2/vtkxdmf2/libsrc/CMakeFiles/vtkxdmf2.dir/XdmfHeavyData.cxx.o
[ 2%] Building CXX object ThirdParty/protobuf/vtkprotobuf/src/CMakeFiles/protoc_compiler.dir/google/protobuf/stubs/strutil.cc.o
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib64/python2.7/compileall.py", line 16, in <module>
import struct
File "/usr/lib64/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: /home/fwein/code/cfs_paraview/build_python/build/install/lib64/python2.7/lib-dynload/_struct.so: undefined symbol: PyUnicodeUCS2_AsEncodedString
gmake[8]: *** [ThirdParty/cinema/CMakeFiles/CinemaPython.dir/build.make:61: ThirdParty/cinema/cinema_python.build-complete] Error 1
gmake[7]: *** [CMakeFiles/Makefile2:1192: ThirdParty/cinema/CMakeFiles/CinemaPython.dir/all] Error 2
gmake[7]: *** Waiting for unfinished jobs....
To my knowledge one need to decide if Python is compiled with 16 or 32 bit encoding,
on my system I have 32 bit:
/usr/bin/python2
Python 2.7.14 (default, Oct 12 2017, 15:50:02) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.maxunicode)
1114111
When I try the Python built from PV, it has 16 bits:
/home/fwein/code/cfs_paraview/build_python/build/superbuild/python/build/python
Python 2.7.14 (default, Feb 2 2018, 15:33:16)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.maxunicode)
65535
So the mixing from own built python and system python makes problems.
Is this mixing a bug?
Currently, I don't need python in PV, and for my colleague SYSTEM_PYTHON worked. So just to let you know.
BTW, what is the status with python3?
Fabian
More information about the ParaView
mailing list