Comments (7)
It looks like OSX + Python 2.7 is broken in some way, as my Travis CI builds do this too.
I can't debug this without a stack trace at minimum, and probably can't at all without a mac.
Can you use Python 3.6?
from vmd-python.
The base environment is 3.6.4. Would this be a useful stack-trace:
MBPro:~/Programs $ python --version
Python 3.6.4 :: Anaconda, Inc.
MBPro:~/Programs $ lldb -- python -c "import vmd"
(lldb) target create "python"
Current executable set to 'python' (x86_64).
(lldb) settings set -- target.run-args "-c" "import vmd"
(lldb) r
Process 75708 launched: '/Users/rfonseca/anaconda3/bin/python' (x86_64)
Process 75708 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x25)
frame #0: 0x0000000208f2eabb libpython3.6m.dylib`PyUnicode_InternInPlace + 107
libpython3.6m.dylib`PyUnicode_InternInPlace:
-> 0x208f2eabb <+107>: movb 0x25(%rax), %r15b
0x208f2eabf <+111>: movq 0x1d1aa2(%rip), %rax ; _PyThreadState_Current
0x208f2eac6 <+118>: movb $0x1, 0x25(%rax)
0x208f2eaca <+122>: movq %rbx, %rsi
Target 0: (libvmd.so) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x25)
* frame #0: 0x0000000208f2eabb libpython3.6m.dylib`PyUnicode_InternInPlace + 107
frame #1: 0x0000000208fafc5f libpython3.6m.dylib`PyImport_Import + 351
frame #2: 0x0000000208fb106c libpython3.6m.dylib`PyImport_ImportModule + 28
frame #3: 0x000000020597cee4 libvmd.so`get_vmdapp() + 16
frame #4: 0x00000002059854d6 libvmd.so`PyInit_vmd + 22
frame #5: 0x000000010018e749
frame #6: 0x000000010018dddc
frame #7: 0x000000010008b562
frame #8: 0x0000000100161a10
frame #9: 0x0000000100154589
frame #10: 0x00000001001636aa
frame #11: 0x00000001001632ac
frame #12: 0x0000000100160f4c
frame #13: 0x00000001001635fc
frame #14: 0x00000001001632ac
frame #15: 0x0000000100160f4c
frame #16: 0x00000001001635fc
frame #17: 0x00000001001632ac
frame #18: 0x0000000100160f4c
frame #19: 0x00000001001635fc
frame #20: 0x00000001001632ac
frame #21: 0x0000000100160f4c
frame #22: 0x00000001001635fc
frame #23: 0x00000001001632ac
frame #24: 0x0000000100160f4c
frame #25: 0x0000000100154589
frame #26: 0x00000001001636aa
frame #27: 0x00000001001632ac
frame #28: 0x0000000100160f4c
frame #29: 0x0000000100154589
frame #30: 0x000000010014ed99
frame #31: 0x000000010008b562
frame #32: 0x0000000100161a10
frame #33: 0x0000000100154589
frame #34: 0x00000001001636aa
frame #35: 0x00000001001632ac
frame #36: 0x0000000100160f4c
frame #37: 0x00000001001635fc
frame #38: 0x00000001001632ac
frame #39: 0x0000000100160f4c
frame #40: 0x00000001001635fc
frame #41: 0x00000001001632ac
frame #42: 0x0000000100160f4c
frame #43: 0x00000001001635fc
frame #44: 0x00000001001632ac
frame #45: 0x0000000100160f4c
frame #46: 0x0000000100163d4f
frame #47: 0x0000000100009e80
frame #48: 0x00000001000130da
frame #49: 0x0000000100188674
frame #50: 0x000000010015ee17
frame #51: 0x0000000100154589
frame #52: 0x00000001001af599
frame #53: 0x00000001001af437
frame #54: 0x00000001001d1b16
frame #55: 0x0000000100001e7d
frame #56: 0x00007fffa8b23235
(lldb)
from vmd-python.
If not I'll come by with a mac tomorrow.
from vmd-python.
Okay I have added a flag to the build process that will build the main library (not the plugins though) with debug symbols.
git clean -fdx
git pull
python setup.py build --debug
python setup.py install
Load that up into the debugger and you'll get a more helpful stack trace.
All of the source files live in vmd/vmd_src/src.
from vmd-python.
Still haven't managed to get debug symbols or resolve the issue, but I noticed something strange when building:
LIB: libtcl8.5.dylib -> /usr/lib
INC: tcl.h -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/include
LIB: libsqlite3.dylib -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/lib
INC: sqlite3.h -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/include
LIB: libexpat.dylib -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/lib
INC: expat.h -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/include
LIB: libnetcdf.dylib -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/lib
INC: netcdf.h -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/include
LIB: libpython3.6*.dylib -> /Users/rfonseca/anaconda3/envs/py36_np1.13.3/lib
Isn't this weird given there's a perfectly valid /Users/rfonseca/anaconda3/envs/py36_np1.13.3/lib/libtcl8.6.dylib
?
from vmd-python.
I think that was the problem. setting up my conda environment with tk=8.5
solves the problem.
from vmd-python.
Ok, so for the record, creating a conda-environment the following way:
conda create -n vmd-python python=3.6 netcdf4 numpy expat tk=8.5
conda activate vmd-python
cd path/to/vmd-python
python setup.py build
python setup.py install
.. works. I guess the problem was that it was detecting the specific tcl version (8.5) in /usr/lib
but not caring where it got the includes from, so they didn't match because the most recent conda version was 8.6. Specifically installing tk 8.5 in conda solved this.
from vmd-python.
Related Issues (20)
- Integration with VMD HOT 9
- Documentation updates? HOT 1
- Blank lines when writing a PDB HOT 5
- index / serial HOT 1
- render produce wrong output file when running through script HOT 2
- add label and specific color for some resid HOT 1
- DCD files HOT 1
- some problems in python HOT 3
- Cannot install vmd-python
- Does this package can invoke a VMD GUI or just uses the python-api of VMD HOT 1
- Use PSFgen version 2.0 HOT 2
- __init__.py not found HOT 2
- Installation error in vmd-python HOT 2
- number of frames is 0 HOT 3
- Build issues HOT 3
- Can't use topotools::mergetools when evaluating a tcl script. HOT 3
- Support for Python 3.10+ HOT 2
- Building with EGL support
- Building a water box fails randomly.
- Memory bleed (not dumping) issue HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vmd-python.