Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

latest python built statically creates VTK - matplotlib issues. #235

Closed
danlipsa opened this issue Jan 29, 2019 · 1 comment
Closed

latest python built statically creates VTK - matplotlib issues. #235

danlipsa opened this issue Jan 29, 2019 · 1 comment

Comments

@danlipsa
Copy link

danlipsa commented Jan 29, 2019

Issue:
We are building VTK using conda forge on Mac. With the latest python we get:
(test) [~]$ python
Python 3.6.7 | packaged by conda-forge | (default, Nov 20 2018, 18:37:09)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import vtk
Fatal Python error: PyThreadState_Get: no current thread

Abort trap: 6

The VTK package that causes problems is VTK - matplotlib, a way to draw matplotlib plots from VTK. This package needs another instance of python. Because the latest python package links statically with libpython we end-up with two python versions = one from the the statically linked python and one brought it by VTK for using it with matplotlib.

Current python is linked statically

(test) [~]$ otool -L /Users/danlipsa/anaconda3/envs/test/bin/python
/Users/danlipsa/anaconda3/envs/test/bin/python:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
(test) [~]$ python --version
Python 3.6.7
(test) [~]$ conda list | grep python
ipython                   7.2.0           py36h24bf2e0_1000    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
python                    3.6.7             h4a56312_1001    conda-forge
(test) [~]$ 

Previous python was built dynamically and that works with VTK-matplotlib

(nightly) [~/projects/VTK/src/Rendering (master %=)]$ otool -L /Users/danlipsa/anaconda3/envs/nightly/bin/python
/Users/danlipsa/anaconda3/envs/nightly/bin/python:
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
	@rpath/libpython3.6m.dylib (compatibility version 3.6.0, current version 3.6.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

python                    3.6.6                h5001a0f_0    conda-forge

Also, python 2.7 is linked dynamically and that works.


Environment (conda list):

(test) [~]$ conda list

packages in environment at /Users/danlipsa/anaconda3/envs/test:

Name Version Build Channel

appnope 0.1.0 py36_1000 conda-forge
backcall 0.1.0 py_0 conda-forge
blas 1.0 mkl
bzip2 1.0.6 h1de35cc_1002 conda-forge
ca-certificates 2018.11.29 ha4d7672_0 conda-forge
certifi 2018.11.29 py36_1000 conda-forge
decorator 4.3.2 py_0 conda-forge
ffmpeg 4.1 heb45b42_1000 conda-forge
freetype 2.9.1 h597ad8a_1005 conda-forge
future 0.17.1 py36_1000 conda-forge
gettext 0.19.8.1 hcca000d_1001 conda-forge
gmp 6.1.2 h0a44026_1000 conda-forge
gnutls 3.6.5 h53004b3_1001 conda-forge
intel-openmp 2019.1 144
ipython 7.2.0 py36h24bf2e0_1000 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jedi 0.13.2 py36_1000 conda-forge
libcxx 7.0.0 h2d50403_2 conda-forge
libffi 3.2.1 h0a44026_1005 conda-forge
libgfortran 3.0.1 h93005f0_2
libiconv 1.15 h1de35cc_1004 conda-forge
libpng 1.6.36 ha441bb4_1000 conda-forge
llvm-meta 7.0.0 0 conda-forge
mkl 2019.1 144
mkl_fft 1.0.10 py36h1de35cc_1 conda-forge
mkl_random 1.0.2 py36h1702cab_2 conda-forge
ncurses 6.1 h0a44026_1002 conda-forge
nettle 3.4.1 h1de35cc_1002 conda-forge
numpy 1.15.4 py36hacdab7b_0
numpy-base 1.15.4 py36h6575580_0
openh264 1.8.0 hd9629dc_1000 conda-forge
openssl 1.0.2p h1de35cc_1002 conda-forge
parso 0.3.2 py_0 conda-forge
pexpect 4.6.0 py36_1000 conda-forge
pickleshare 0.7.5 py36_1000 conda-forge
pip 19.0.1 py36_0 conda-forge
prompt_toolkit 2.0.7 py_0 conda-forge
ptyprocess 0.6.0 py36_1000 conda-forge
pygments 2.3.1 py_0 conda-forge
python 3.6.7 h4a56312_1001 conda-forge
readline 7.0 hcfe32e1_1001 conda-forge
setuptools 40.6.3 py36_0 conda-forge
six 1.12.0 py36_1000 conda-forge
sqlite 3.26.0 h1765d9f_1000 conda-forge
tk 8.6.9 ha441bb4_1000 conda-forge
traitlets 4.3.2 py36_1000 conda-forge
vtk-cdat 8.2.0.rc2.289.8.0.2019.01.28.16.04.g14c0bb696d py36h3a4d124_0 danlipsa
wcwidth 0.1.7 py_1 conda-forge
wheel 0.32.3 py36_0 conda-forge
x264 1!152.20180717 h1de35cc_1001 conda-forge
xz 5.2.4 h1de35cc_1001 conda-forge
zlib 1.2.11 h1de35cc_1004 conda-forge


Details about conda and system ( conda info ):

(test) [~]$ conda info

 active environment : test
active env location : /Users/danlipsa/anaconda3/envs/test
        shell level : 1
   user config file : /Users/danlipsa/.condarc

populated config files : /Users/danlipsa/.condarc
conda version : 4.5.12
conda-build version : 3.13.0
python version : 3.6.4.final.0
base environment : /Users/danlipsa/anaconda3 (writable)
channel URLs : https://conda.anaconda.org/doutriaux1/osx-64
https://conda.anaconda.org/doutriaux1/noarch
https://conda.anaconda.org/conda-forge/osx-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/osx-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/osx-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/osx-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/pro/osx-64
https://repo.anaconda.com/pkgs/pro/noarch
package cache : /Users/danlipsa/anaconda3/pkgs
/Users/danlipsa/.conda/pkgs
envs directories : /Users/danlipsa/anaconda3/envs
/Users/danlipsa/.conda/envs
platform : osx-64
user-agent : conda/4.5.12 requests/2.18.4 CPython/3.6.4 Darwin/18.2.0 OSX/10.14.2
UID:GID : 501:20
netrc file : None
offline mode : False

@jjhelmus
Copy link
Contributor

jjhelmus commented Feb 6, 2019

The change from dynamic linking to static linking was intentional. Please see the discussion in #222 for details.

@jjhelmus jjhelmus closed this as completed Feb 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants